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
- Наследование
Примеры
В следующем примере кода показано, как вставить данные в базу данных с помощью 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 , указанного параметром |
| FormParameter(String, DbType, String) |
Инициализирует новый экземпляр класса, используя указанную строку для определения поля переменной FormParameter формы для привязки. |
| FormParameter(String, String) |
Инициализирует новый именованный экземпляр класса, используя указанную строку для определения поля переменной FormParameter формы для привязки. |
| FormParameter(String, TypeCode, String) |
Инициализирует новый именованный и строго типизированный экземпляр FormParameter класса, используя указанную строку для определения переменной формы для привязки. |
Свойства
| Имя | Описание |
|---|---|
| ConvertEmptyStringToNull |
Возвращает или задает значение, указывающее, следует ли преобразовать объект 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) |