次の方法で共有


HtmlForm サーバー コントロール宣言構文

<form> HTML 要素に割り当てるサーバー側のコントロールを作成し、Web ページの要素のコンテナーを作成できるようにします。

<form 
    DefaultButton="string"
    DefaultFocus="string"
    EnableViewState="False|True"
    Id="string"
    SubmitDisabledControls="False|True"
    Visible="True|False"
    OnDataBinding="OnDataBinding event handler"
    OnDisposed="OnDisposed event handler"
    OnInit="OnInit event handler"
    OnLoad="OnLoad event handler"
    OnPreRender="OnPreRender event handler"
    OnUnload="OnUnload event handler"
    runat="server"
    >
        <!--Other controls, input forms, and so on.--> 
</form>

解説

HtmlForm コントロールを使用して、<form> HTML 要素をプログラムで制御します。 ポストバック サービスを利用するには、すべての Web フォーム コントロール (HTML コントロール、Web コントロール、ユーザー コントロール、カスタム コントロール) を正しく記述された HtmlForm コントロールの開始タグと終了タグの間に入れ子にする必要があります。 タグが正しく閉じていない場合、ASP.NET は要素を認識しません。 要素の形式によって、要素が無視されるか、コンパイル エラーが発生するかのどちらかになります。

メモメモ

1 つの Web フォーム ページに複数の HtmlForm コントロールを含めることはできません。

既定では、HtmlForm コントロールの method 属性は POST に設定されます。 method 属性は必要に合わせてカスタマイズできますが、method 属性を GET または POST 以外の値に設定すると、ASP.NET に用意されている組み込みビュー ステートおよびポストバック サービスが破損する可能性があります。

メモメモ

action 属性は、常にそのページの URL に設定されます。action 属性は変更できません。そのため、使用できる機能はそのページへのポストバックだけです。

メモメモ

XHTML 1.1 では、form 要素の name 属性の使用は推奨されていません。そのため、ASP.NET 4 のこのコントロールでは name 属性がレンダリングされません。

使用例

ボタンごとに異なる OnServerClick ハンドラーを持つ 3 つの HtmlButton コントロールの例を示します。 これらの各イベントで、サーバーへのポストバックが発生します。ポストバックが発生する場合は、常に HtmlForm コントロールが必要です。 この例では、複数のイベントをサポートするフォームも含めて、Web フォーム ページで使用できる HtmlForm コントロールが 1 つだけであることも示しています。 複数の HtmlForm コントロールが含まれていると、.NET Framework は例外をスローします。

<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Control</title>

   <script runat="server">
      Sub Button1_OnClick(Source As Object, e As EventArgs)
         Span1.InnerHtml = "You clicked Button1"
      End Sub

      Sub Button2_OnClick(Source As Object, e As EventArgs)
         Span2.InnerHtml = "You clicked Button2"
      End Sub

      Sub Button3_OnClick(Source As Object, e As EventArgs)
         Span3.InnerHtml = "You clicked Button3"
      End Sub
   </script>

</head>
<body>

   <h3>HtmlForm Sample</h3>

   <form id="ServerForm" runat="server">     
      <button id="Button1" runat="server"
              onserverclick="Button1_OnClick">
         Button1
      </button>
      &nbsp;&nbsp;
      <span id="Span1" runat="server" />
      <p />
      <button id="Button2" runat="server"
              onserverclick="Button2_OnClick">
         Button2
      </button>
      &nbsp;&nbsp;
      <span id="Span2" runat="server" />
      <p />
      <button id="Button3" runat="server"
              onserverclick="Button3_OnClick">
         Button3
      </button>
      &nbsp;&nbsp;
      <span id="Span3" runat="server" />
   </form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlForm Control</title>

    <script runat="server">
       void Button1_OnClick(object Source, EventArgs e) 
       {
          Span1.InnerHtml="You clicked Button1";
       }
       void Button2_OnClick(object Source, EventArgs e) 
       {
          Span2.InnerHtml="You clicked Button2";
       }
       void Button3_OnClick(object Source, EventArgs e) 
       {
          Span3.InnerHtml="You clicked Button3";
       }
    </script>

</head>
<body>

   <h3>HtmlForm Sample</h3>

   <form id="ServerForm" runat="server">     
      <button id="Button1" runat="server"
              onserverclick="Button1_OnClick">
         Button1
      </button>
      &nbsp;&nbsp;
      <span id="Span1" runat="server" />
      <p />
      <button id="Button2" runat="server"
              onserverclick="Button2_OnClick">
         Button2
      </button>
      &nbsp;&nbsp;
      <span id="Span2" runat="server" />
      <p />
      <button id="Button3" runat="server"
              onserverclick="Button3_OnClick">
         Button3
      </button>
      &nbsp;&nbsp;
      <span id="Span3" runat="server" />
   </form>
</body>
</html>

参照

参照

HtmlForm

その他の技術情報

HTML サーバー コントロール