Поделиться через


FormParameter Класс

Определение

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

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, Updating, Insertingили , или 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)

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

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