¿Cómo hago para enviar un formulario con un LinkButton?

Mi control de usuario de inicio de sesión tiene dos cuadros de texto y un botón de enlace.

<asp:TextBox id="tbUserName" runat="server" size="10" />
<asp:TextBox id="tbPassword" runat="server" TextMode="Password" size="10" />

<asp:LinkButton Text="login" CssClass="submit"  runat="server" ID="lbLogin" OnClick="btnLogin_OnClick" />

Me gustaría llamar a la función "btnLogin_OnClick cuando alguien presiona enter en tbUsername o tbPassword.

¿Cómo hago esto?

preguntado el 27 de agosto de 11 a las 20:08

2 Respuestas

Aquí hay un buen truco:

<asp:Panel ID="pnlLogon" runat="server" DefaultButton="lbLogin" Width="100%" >
        <asp:TextBox id="tbUserName" runat="server" size="10" />
        <asp:TextBox id="tbPassword" runat="server" TextMode="Password" size="10" />
        <asp:LinkButton Text="login" CssClass="submit"  runat="server" ID="lbLogin" OnClick="btnLogin_OnClick" />
</asp:Panel>

Al envolver los cuadros de texto en un panel y configurar el DefaultButton del Panel a su LinkButton, cualquier entrada en el cuadro de texto dentro del panel hará que la LinkButton Haga clic para que suceda.

Respondido 28 ago 11, 01:08

¡Gracias! Esto funciona en IE y Firefox pero no en Chrome. ¿Algunas ideas? - Nate

¿Quizás por esto? kpumuk.info/asp-net/… - Mrchief

Genial, tuve que seguir las instrucciones en el enlace de arriba para que funcione en safari. Gracias. - Nate

// Código detrás

protected void btnLogin_OnClick(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        // process your form
    }
}

Respondido 28 ago 11, 00:08

Esa función no se llama cuando alguien presiona enter en tbUserName o tbPassword. Solo se llama al hacer clic. - Nate

Lo siento Nate, leí mal la pregunta. Cualquiera de los métodos de Mrchief debería funcionar. - Irlandés jefe

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.