Бөлісу құралы:


FormParameter Класс

Определение

Привязывает значение поля HTTP-запроса Form к объекту параметра.

public ref class FormParameter : System::Web::UI::WebControls::Parameter
public class FormParameter : System.Web.UI.WebControls.Parameter
type FormParameter = class
    inherit Parameter
Public Class FormParameter
Inherits Parameter
Наследование
FormParameter

Примеры

В следующем примере кода показано, как вставить данные в базу данных с помощью SqlDataSource элемента управления и простой веб-страницы ASP.NET. Текущие данные в таблице данных отображаются в элементе DropDownList управления. Вы можете добавить новые записи, введя значения в TextBox элементы управления и нажав кнопку. При нажатии кнопки указанные значения вставляются в базу данных и DropDownList обновляются.

Это важно

В этом примере есть текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
private void InsertShipper (object source, EventArgs e) {
  SqlDataSource1.Insert();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </form>
  </body>
</html>

Комментарии

Класс можно использовать FormParameter для привязки значения переменной формы в Form коллекции к параметру, используемому в параметризованном запросе или команде. Элементы управления, которые привязывают данные к параметру, могут вызвать исключение, если задано FormParameter , но не передается соответствующая переменная формы. Кроме того, они могут отображать данные, если переменная формы передается без соответствующего значения. Задайте для DefaultValue предотвращения этих ситуаций, когда это необходимо.

Класс FormParameter предоставляет FormField свойство, идентифицирующее имя переменной формы для привязки, помимо унаследованных от Parameter класса.

Это важно

Значение FormParameter , переданное элементом формы, не проверяется каким-либо образом; оно использует необработанное значение. В большинстве случаев можно проверить значение FormParameter перед тем, как он будет использоваться элементом управления источниками данных, обрабатывая событие, например Selectingсобытие, UpdatingInsertingили Deleting событие, предоставляемое системой управления источниками данных, которую вы используете. Если значение параметра не проходит тесты проверки, можно отменить операцию данных, задав Cancel для свойства связанного CancelEventArgs класса trueзначение.

Конструкторы

Имя Описание
FormParameter()

Инициализирует новый неименованный экземпляр FormParameter класса.

FormParameter(FormParameter)

Инициализирует новый экземпляр класса со значениями экземпляра FormParameter , указанного параметром original .

FormParameter(String, DbType, String)

Инициализирует новый экземпляр класса, используя указанную строку для определения поля переменной FormParameter формы для привязки.

FormParameter(String, String)

Инициализирует новый именованный экземпляр класса, используя указанную строку для определения поля переменной FormParameter формы для привязки.

FormParameter(String, TypeCode, String)

Инициализирует новый именованный и строго типизированный экземпляр FormParameter класса, используя указанную строку для определения переменной формы для привязки.

Свойства

Имя Описание
ConvertEmptyStringToNull

Возвращает или задает значение, указывающее, следует ли преобразовать объект Parameter в null значение, если оно есть Empty.

(Унаследовано от Parameter)
DbType

Возвращает или задает тип базы данных параметра.

(Унаследовано от Parameter)
DefaultValue

Указывает значение по умолчанию для параметра, если параметр привязан к неинициализации при вызове Evaluate(HttpContext, Control) метода.

(Унаследовано от Parameter)
Direction

Указывает, используется ли Parameter объект для привязки значения к элементу управления или элемент управления можно использовать для изменения значения.

(Унаследовано от Parameter)
FormField

Возвращает или задает имя переменной формы, к которому привязывается параметр.

IsTrackingViewState

Возвращает значение, указывающее, сохраняет ли Parameter объект изменения в состоянии представления.

(Унаследовано от Parameter)
Name

Возвращает или задает имя параметра.

(Унаследовано от Parameter)
Size

Возвращает или задает размер параметра.

(Унаследовано от Parameter)
Type

Возвращает или задает тип параметра.

(Унаследовано от Parameter)
ValidateInput

Возвращает или задает значение, указывающее, проверяется ли входные данные клиента в параметре.

ViewState

Получает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние Parameter представления объекта в нескольких запросах на одну и ту же страницу.

(Унаследовано от Parameter)

Методы

Имя Описание
Clone()

Возвращает дубликат текущего FormParameter экземпляра.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Evaluate(HttpContext, Control)

Обновляет и возвращает значение FormParameter объекта.

GetDatabaseType()

DbType Возвращает значение, эквивалентное типу СРЕДЫ CLR текущего Parameter экземпляра.

(Унаследовано от Parameter)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
LoadViewState(Object)

Восстанавливает ранее сохраненное состояние представления источника данных.

(Унаследовано от Parameter)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnParameterChanged()

OnParametersChanged(EventArgs) Вызывает метод ParameterCollection коллекции, содержащей Parameter объект.

(Унаследовано от Parameter)
SaveViewState()

Сохраняет изменения Parameter состояния представления объекта с момента публикации страницы на сервер.

(Унаследовано от Parameter)
SetDirty()

Parameter Помечает объект таким образом, чтобы его состояние было записано в состоянии представления.

(Унаследовано от Parameter)
ToString()

Преобразует значение этого экземпляра в эквивалентное строковое представление.

(Унаследовано от Parameter)
TrackViewState()

Позволяет Parameter объекту отслеживать изменения состояния представления, чтобы они могли храниться в объекте элемента управления ViewState и сохраняться в запросах на одну и ту же страницу.

(Унаследовано от Parameter)

Явные реализации интерфейса

Имя Описание
ICloneable.Clone()

Возвращает дубликат текущего Parameter экземпляра.

(Унаследовано от Parameter)
IStateManager.IsTrackingViewState

Возвращает значение, указывающее, сохраняет ли Parameter объект изменения в состоянии представления.

(Унаследовано от Parameter)
IStateManager.LoadViewState(Object)

Восстанавливает ранее сохраненное состояние представления источника данных.

(Унаследовано от Parameter)
IStateManager.SaveViewState()

Сохраняет изменения Parameter состояния представления объекта с момента публикации страницы на сервер.

(Унаследовано от Parameter)
IStateManager.TrackViewState()

Позволяет Parameter объекту отслеживать изменения состояния представления, чтобы они могли храниться в объекте элемента управления ViewState и сохраняться в запросах на одну и ту же страницу.

(Унаследовано от Parameter)

Применяется к

См. также раздел