Controllo HtmlForm

Crea un controllo lato server di cui viene eseguito il mapping sull'elemento HTML <form> e consente di creare un contenitore per gli elementi in una pagina Web.

<form id="programmaticID"
      method=POST | GET
      action="srcpageURL"
      runat="server" >
   Other controls, input forms, and so on.
</form>

Osservazioni

Utilizzare il controllo HtmlForm per eseguire la programmazione sull'elemento HTML <form>. Per avvalersi dei servizi di postback, è necessario che tutti i controlli Web Form, siano essi HTML, Web, pagelet o personalizzati, siano nidificati 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.

Nota   Non è possibile inserire più di un controllo HtmlForm su 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, se impostato su un valore diverso da GET o POST può interrompere lo stato di visualizzazione incorporato e i servizi di postback forniti da Web Form.

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

Esempio

Nell'esempio seguente 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 seguente viene inoltre dimostrato 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" %>
<html>
<head>
   <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>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
    <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

Sintassi ASP.NET per controlli HTML | Classe HtmlForm