如何使用LinkButton提交表单?

7

我的登录用户控件有两个文本框和一个链接按钮。

<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" />

当某人在tbUsername或tbPassword上按下Enter时,我想调用“btnLogin_OnClick”函数。 我该怎么做?
2个回答

15

以下是一个巧妙的技巧:

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

将文本框放置在面板中,并将面板的DefaultButton设置为您的LinkButton,这样面板内任何文本框中的Enter键都会触发LinkButton的单击事件。


谢谢!这在IE和Firefox中可以工作,但在Chrome中不行。有什么想法吗? - Nate
也许是因为这个原因?http://kpumuk.info/asp-net/using-panel-defaultbutton-property-with-linkbutton-control-in-asp-net/ - Mrchief
太棒了,我必须按照上面链接中的说明才能在Safari中运行。谢谢。 - Nate

0

// 代码后台

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

当有人在tbUserName或tbPassword上按下回车键时,该函数不会被调用。它只会在单击时被调用。 - Nate
抱歉,Nate,我误读了问题。Mrchief的方法应该有效。 - IrishChieftain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接