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

次のコード例では、 コントロールと単純な ASP.NET Web ページを SqlDataSource 使用してデータベースにデータを挿入する方法を示します。 データ テーブル内の現在のデータがコントロールに DropDownList 表示されます。 新しいレコードを追加するには、コントロールに値を TextBox 入力し、ボタンをクリックします。 ボタンがクリックされると、指定した値がデータベースに挿入され DropDownList 、 が更新されます。

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは 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 、フォーム要素によって渡された値を何らかの方法で検証しません。生の値を使用します。 ほとんどの場合、使用しているデータ ソース コントロールによって公開されるイベント (、または Deleting イベントなどUpdatingInsertingSelecting) を処理することで、 の値FormParameterをデータ ソース コントロールで使用する前に検証できます。 パラメーターの値が検証テストに合格しない場合は、関連付けられているCancelEventArgsクラスの プロパティを Canceltrue設定することで、データ操作を取り消すことができます。

コンストラクター

FormParameter()

FormParameter クラスの名前のない新しいインスタンスを初期化します。

FormParameter(FormParameter)

original パラメーターで指定されたインスタンスの値を使用して、FormParameter クラスの新しいインスタンスを初期化します。

FormParameter(String, DbType, String)

バインド先のフォーム変数フィールドを識別する文字列を指定して、FormParameter クラスの新しいインスタンスを初期化します。

FormParameter(String, String)

バインド先のフォーム変数フィールドを識別する文字列を指定して、FormParameter クラスの名前付きの新しいインスタンスを初期化します。

FormParameter(String, TypeCode, String)

バインド先のフォーム変数を識別する文字列を指定して、FormParameter クラスの厳密に型指定された名前付きの新しいインスタンスを初期化します。

プロパティ

ConvertEmptyStringToNull

Parameter オブジェクトのバインド先の値が Empty の場合に、その値を null に変換する必要があるかどうかを示す値を取得または設定します。

(継承元 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)

適用対象

こちらもご覧ください