Compartir a través de


Sintaxis declarativa del control de servidor HtmlForm

Actualización: noviembre 2007

Crea un control de servidor que se asigna al elemento HTML <form> y permite crear un contenedor de elementos en una página 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>

Comentarios

Utilice el control HtmlForm para programar con el elemento HTML <form>. Para aprovechar las ventajas de los servicios de devolución de datos, todos los controles de formularios Web Forms, ya sean controles HTML, controles Web, controles de usuario o controles personalizados, deben estar anidados entre etiquetas de apertura y de cierre con un formato correcto del control HtmlForm. Si las etiquetas no están adecuadamente cerradas, ASP.NET no reconocerá el elemento. El elemento se omite o se produce un error de compilación, en función del formato del elemento.

Nota

No se puede incluir más de un control HtmlForm en una sola página de formularios Web Forms.

De manera predeterminada, el valor del atributo method del control HtmlForm se establece en POST. Puede personalizar el atributo method según sea necesario, aunque si lo establece en un valor distinto de GET o POST, puede que se interrumpan los servicios de devolución de datos y de estado de vista integrados que proporciona ASP.NET.

Nota

El valor del atributo action se establece siempre en la dirección URL de la propia página. El atributo action no se puede cambiar; por tanto, la devolución de datos se realiza sólo a la propia página.

Ejemplo

En el siguiente ejemplo se muestran tres controles HtmlButton con un controlador OnServerClick distinto para cada botón. Cada uno de estos eventos origina una devolución de datos al servidor (HtmlForm es un control necesario para cualquier escenario en el que se produzca una devolución). En este ejemplo se muestra también que sólo se permite un control HtmlForm en una página de formularios Web Forms, incluidos los formularios que admiten múltiples eventos. Si se incluye más de un control HtmlForm, .NET Framework generará una excepción.

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

Vea también

Referencia

HtmlForm

Otros recursos

Controles de servidor HTML