ASP.NET - 按下回车键触发UpdatePanel

3

我有一个带有更新面板的页面,其中包含一个小型登录表单 - 当用户单击提交按钮时,它可以正常运行,但如果用户在输入密码后按回车键,它不会运行。

以下是代码...

    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="loginButton" EventName="Click" />
        </Triggers>
        <ContentTemplate>
            <asp:TextBox ID="username" MaxLength="11" runat="server" />
            <asp:TextBox ID="password" MaxLength="64" runat="server" TextMode="Password" />
            <asp:LinkButton ID="loginButton" OnClick="Submit_login" runat="server" Text="<img src='login.png' alt='Login' />" />
        </ContentTemplate>
    </asp:UpdatePanel>
2个回答

8
如果您在内容模板中添加一个面板并分配DefaultButton,当用户按Enter键时,它应该提交按钮。
<ContentTemplate>
<asp:panel id="p" runat="server" defaultbutton="loginButton">
            //Form here with loginButton
</asp:panel>
</ContentTemplate>

这个方法可行...不过,我必须使用一个imageButton而不是LinkButton才能让它按照我的期望工作。谢谢。 - Tom

0
将位于<ContentTemplate>内部的控件放置在Panel中,并将其默认按钮设置为loginButton。

示例:

<asp:Panel id="defaultPanel" runat="server" DefaultButton="loginButton">
  <asp:TextBox ID="username" MaxLength="11" runat="server" />
  <asp:TextBox ID="password" MaxLength="64" runat="server" TextMode="Password" />
  <asp:LinkButton ID="loginButton" OnClick="Submit_login" runat="server" Text="<img src='login.png' alt='Login' />" />
</asp:Panel>

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