Condividi tramite


Sintassi dichiarativa per il controllo server HtmlForm

Crea un controllo lato server che viene mappato all'elemento HTML <form> e che consente di creare un contenitore per gli elementi di una pagina 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>

Note

Utilizzare il controllo HtmlForm per eseguire la programmazione in base all'elemento HTML <form>. Per avvalersi dei servizi di postback, è necessario che tutti i controlli Web Form, siano essi HTML, Web controlli utente o personalizzati, siano annidati tra i tag di apertura e di chiusura corretti del controllo HtmlForm. Se i tag non sono chiusi correttamente, in ASP.NET non viene riconosciuto l'elemento. A seconda del formato dell'elemento, quest'ultimo verrà ignorato oppure verrà generato un errore di compilazione.

NotaNota

Non è possibile inserire più di un controllo HtmlForm in una singola pagina Web Form.

Per impostazione predefinita, l'attributo method del controllo HtmlForm è impostato su POST. Sebbene l'attributo method possa essere personalizzato in base alle specifiche esigenze, l'impostazione dell'attributo method su un valore diverso da GET o POST può interrompere lo stato di visualizzazione incorporato e i servizi di postback forniti da ASP.NET.

NotaNota

L'attributo action, che è sempre impostato sull'URL della pagina,non può essere modificato. È pertanto possibile eseguire solo il postback alla pagina.

NotaNota

L'attributo name per gli elementi form è deprecato in XHTML 1.1.Questo controllo non esegue pertanto il rendering dell'attributo name in ASP.NET 4.

Esempio

Nell'esempio riportato di seguito vengono illustrati tre controlli HtmlButton con un gestore OnServerClick distinto per ogni pulsante. Ciascuno di questi eventi impone un postback al server. Il controllo HtmlForm è necessario per qualsiasi scenario in cui si verifica un postback. Nell'esempio riportato di seguito viene inoltre illustrato che su una pagina Web Form è consentito un solo controllo HtmlForm, compreso un form che supporta più eventi. Se viene inserito più di un controllo HtmlForm, in .NET Framework viene generata un'eccezione.

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

Vedere anche

Riferimenti

HtmlForm

Altre risorse

Controlli server HTML