Partilhar via


HtmlForm.DefaultButton Propriedade

Definição

Obtém ou define o controle filho do controle HtmlForm que causa o postback quando a tecla ENTER é pressionada.

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

O ID do controle de botão para ser exibido como o botão padrão quando o HtmlForm é carregado. O valor padrão é uma cadeia de caracteres vazia ("").

Exceções

O controle referenciado como o botão padrão não é do tipo IButtonControl.

Exemplos

O exemplo a seguir mostra como definir a DefaultButton propriedade para definir o controle padrão que causa um 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>

Comentários

A DefaultButton propriedade permite especificar que os usuários podem causar um postback pressionando ENTER em um controle de entrada no formulário (como uma caixa de texto). Você pode especificar como um botão padrão qualquer controle derivado da IButtonControl interface, exceto o LinkButton controle . Se o controle referenciado pela DefaultButton propriedade não derivar de IButtonControl, uma exceção InvalidOperationException será gerada.

Se você estiver usando páginas mestras e definir a DefaultButton propriedade de uma página de conteúdo, use a UniqueID propriedade do IButtonControl botão. Para obter mais informações sobre páginas mestras, consulte ASP.NET Páginas Mestras.

A DefaultButton propriedade pode não causar um postback nos seguintes cenários:

  • Pressione ENTER quando o foco estiver fora dos controles de entrada no formulário. Não há garantia de que a ação de postback padrão seja disparada.

  • Pressione ENTER quando o foco estiver dentro de uma caixa de texto de várias linhas. Em uma caixa de texto de várias linhas, o comportamento esperado é que pressionar ENTER cria uma nova linha na caixa de texto. Em alguns navegadores, pressionar ENTER dentro de uma caixa de texto de várias linhas dispara um postback. Nesse caso, se você quiser que ENTER crie uma nova linha, você poderá anexar uma função JavaScript ao controle de entrada. O script deve capturar a tecla ENTER e parar o postback. Por exemplo, você pode usar a Attributes coleção de propriedades para adicionar o script de cliente para o onKeyPress evento.

  • Especificando um LinkButton controle como um botão padrão. Há suporte apenas Button para os controles e ImageButton .

  • Alterando a DefaultButton propriedade programaticamente durante um postback assíncrono. Postbacks assíncronos podem ser habilitados em uma página adicionando um ou mais UpdatePanel controles à página. Para obter mais informações, consulte Visão geral do controle UpdatePanel e Visão geral da renderização de página parcial.

Aplica-se a

Confira também