Freigeben über


Deklarative Syntax des HtmlForm-Serversteuerelements

Aktualisiert: November 2007

Generiert ein serverseitiges Steuerelement, das dem <form>-HTML-Element zugeordnet wird und die Erstellung eines Containers für Elemente auf einer Webseite ermöglicht.

<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>

Hinweise

Verwenden Sie das HtmlForm-Steuerelement, um das <form>-HTML-Element zu programmieren. Um Postbackdienste nutzen zu können, müssen alle Web Forms-Steuerelemente (HTML-Steuerelemente, Websteuerelemente, Benutzersteuerelemente und benutzerdefinierte Steuerelemente) zwischen wohlgeformten Starttags und Endtags des HtmlForm-Steuerelements geschachtelt sein. Wenn die Tags nicht korrekt abgeschlossen sind, wird das Element nicht in ASP.NET erkannt. Das Element wird entweder ignoriert, oder ein Kompilierungsfehler tritt auf, je nachdem, wie das Element generiert wurde.

Tipp

Sie können in eine Web Forms-Seite nur ein HtmlForm-Steuerelement einfügen.

Standardmäßig ist das method-Attribut des HtmlForm-Steuerelements auf POST festgelegt. Sie können das method-Attribut Ihren Bedürfnissen entsprechend anpassen. Wenn Sie allerdings das method-Attribut auf einen anderen Wert festlegen als GET oder POST, kann dies zum Abbruch des Ansichtszustands und der von ASP.NET bereitstellten Postbackdienste führen.

Tipp

Das action-Attribut wird immer auf den URL der Seite festgelegt. Das action-Attribut kann nicht geändert werden. Daher ist ein Postback nur auf die Seite selbst möglich.

Beispiel

Das folgende Beispiel veranschaulicht drei HtmlButton-Steuerelemente mit einem eigenen OnServerClick-Handler für jede Schaltfläche. Jedes dieser Ereignisse verursacht einen Postback zum Server (das HtmlForm-Steuerelement wird für jedes Szenario benötigt, in dem ein Postback auftritt). Dieses Beispiel veranschaulicht auch, dass nur ein HtmlForm-Steuerelement auf einer Web Forms-Seite zulässig ist, z. B. ein Formular, das mehrere Ereignisse unterstützt. Wenn Sie mehr als ein HtmlForm-Steuerelement einfügen, löst .NET Framework eine Ausnahme aus.

<%@ 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>

Siehe auch

Referenz

HtmlForm

Weitere Ressourcen

HTML-Serversteuerelemente