HtmlForm.DefaultButton Propiedad

Definición

Obtiene o establece el control secundario del control HtmlForm que origina el postback cuando se presiona la tecla ENTRAR.

public:
 property System::String ^ DefaultButton { System::String ^ get(); void set(System::String ^ value); };
public string DefaultButton { get; set; }
member this.DefaultButton : string with get, set
Public Property DefaultButton As String

Valor de propiedad

String

Propiedad ID del control de botón que se va a mostrar como botón predeterminado cuando se cargue el objeto HtmlForm. El valor predeterminado es una cadena vacía ("").

Excepciones

El control al que se hace referencia como botón predeterminado no es del tipo IButtonControl.

Ejemplos

En el ejemplo siguiente se muestra cómo establecer la DefaultButton propiedad para establecer el control predeterminado que provoca un postback.

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">     
   
  void Page_Load(object sender, System.EventArgs e)
  {
    
    // Set the text of the two label controls.
    Label1.Text = "The DefaultButton property is set to "
                + Form1.DefaultButton.ToString() + "<br/>";
    Label2.Text = "The DefaultFocus property is set to "
                + Form1.DefaultFocus.ToString();
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

    <title>HtmlForm DefaultButton and DefaultFocus Properties Example</title>

</head>

<body>

  <form id="Form1"
        defaultbutton="SubmitButton"
        defaultfocus="TextBox1"
        runat="server">
    
    <h3>HtmlForm DefaultButton and DefaultFocus Properties Example</h3>        
  
    TextBox1:
    <asp:textbox id="TextBox1"
                 autopostback="true" 
                 runat="server">
    </asp:textbox>
  
    <br />
  
    TextBox2:
    <asp:textbox id="TextBox2"
                 autopostback="true" 
                 runat="server">
    </asp:textbox>
  
    <br /><br />
  
    <asp:button id="SubmitButton"
                text="Submit" 
                runat="server">
    </asp:button>
  
    <asp:button id="CancelButton" 
                text="Cancel"
                runat="server">
    </asp:button>
  
    <hr />
  
    <asp:label id="Label1"
               runat="Server">
    </asp:label>
  
    <asp:label id="Label2"
               runat="Server">
    </asp:label>

  </form>

</body>

</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="Server">
       
  Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
    ' Set the text of the two label controls.
    Label1.Text = "The DefaultButton property is set to " _
                  & Form1.DefaultButton.ToString & "<br/>"
    Label2.Text = "The DefaultFocus property is set to " _
                  & Form1.DefaultFocus.ToString
  End Sub
     
 </script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

    <title>HtmlForm DefaultButton and DefaultFocus Properties Example</title>

</head>

<body>

  <form id="Form1"
        defaultbutton="SubmitButton"
        defaultfocus="TextBox1"
        runat="server">
    
    <h3>HtmlForm DefaultButton and DefaultFocus Properties Example</h3>        
  
    TextBox1:
    <asp:textbox id="TextBox1"
                 autopostback="true" 
                 runat="server">
    </asp:textbox>
  
    <br />
  
    TextBox2:
    <asp:textbox id="TextBox2"
                 autopostback="true" 
                 runat="server">
    </asp:textbox>
  
    <br /><br />
  
    <asp:button id="SubmitButton"
                text="Submit" 
                runat="server">
    </asp:button>
  
    <asp:button id="CancelButton" 
                text="Cancel"
                runat="server">
    </asp:button>
  
    <hr />
  
    <asp:label id="Label1"
               runat="Server">
    </asp:label>
  
    <asp:label id="Label2"
               runat="Server">
    </asp:label>

  </form>

</body>

</html>

Comentarios

La DefaultButton propiedad permite especificar que los usuarios pueden provocar un postback presionando ENTRAR en un control de entrada en el formulario (por ejemplo, un cuadro de texto). Puede especificar como un botón predeterminado cualquier control que derive de la IButtonControl interfaz, excepto el LinkButton control . Si el control al que hace referencia la DefaultButton propiedad no deriva de IButtonControl, se produce una InvalidOperationException excepción.

Si usa páginas maestras y establece la DefaultButton propiedad de una página de contenido, use la UniqueID propiedad del IButtonControl botón. Para obtener más información sobre las páginas maestras, vea ASP.NET páginas maestras.

Es posible que la DefaultButton propiedad no provoque un postback en los escenarios siguientes:

  • Presionar ENTRAR cuando el foco está fuera de los controles de entrada del formulario. No se garantiza que se desencadene la acción de postback predeterminada.

  • Presionar ENTRAR cuando el foco está dentro de un cuadro de texto de varias líneas. En un cuadro de texto de varias líneas, el comportamiento esperado es que al presionar ENTRAR se crea una nueva línea en el cuadro de texto. En algunos exploradores, al presionar ENTRAR dentro de un cuadro de texto de varias líneas, se desencadena un postback. En ese caso, si desea que ENTRAR cree una nueva línea en su lugar, puede adjuntar una función de JavaScript al control de entrada. El script debe capturar la tecla ENTRAR y detener el postback. Por ejemplo, puede usar la Attributes colección de propiedades para agregar un script de cliente para el onKeyPress evento.

  • Especificar un LinkButton control como un botón predeterminado. Solo Button se admiten los controles y ImageButton .

  • Cambiar la DefaultButton propiedad mediante programación durante un postback asincrónico. Los postbacks asincrónicos se pueden habilitar en una página agregando uno o varios UpdatePanel controles a la página. Para obtener más información, vea UpdatePanel Control Overview y Partial-Page Rendering Overview.

Se aplica a

Consulte también