次の方法で共有


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

更新 : 2007 年 11 月

<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 は要素を認識しません。要素の形式によって、要素が無視されるか、コンパイル エラーが発生するかのどちらかになります。

dd120y50.alert_note(ja-jp,VS.90).gifメモ :

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

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

dd120y50.alert_note(ja-jp,VS.90).gifメモ :

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

使用例

ボタンごとに異なる 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 サーバー コントロール