登录控件,按键设置onauthenticate =“LoginAuthenticateEvent”

时间:2015-02-13 10:39:14

标签: javascript c# login-control

我有asp.net登录控件,例如

<asp:Login ID="Login" onauthenticate="LoginAuthenticateEvent" runat="server"/>

具有* .cs功能,如

protected void LoginAuthenticateEvent(object sender, AuthenticateEventArgs e)
{
    //..
}

但是只有按下登录按钮才能启动身份验证,而不是按“输入”按钮。在文本框中。

所以我决定将此活动设置为javascript&#39; onkeypress&#39;事件,并希望它检查键码是否为13(回车) - 并启动LoginAuthenticateEvent。 但是有问题 - 从JS函数调用C#函数应该是静态的,但在我的情况下它是&#39; protected void&#39;

在JS(jQuery)代码中,我得到了这样的必要元素:

var tboxUserName = $("input[name*='UserName']");

我明白应该有类似

的东西
tboxUserName.attr("onkeypress","....");

但如何在那里挂钥匙检查并使其成为onauthenticate =&#34; LoginAuthenticateEvent&#34;?

upd。:尝试在服务器端查找控件,并在那里添加TextChanged事件

TextBox tb = (TextBox)Login.FindControl("UserName");
tb.TextChanged += tbox_TextChanged;

但是&#39; TextChanged&#39;事件仅在焦点更改时触发(单击其他文本框或按钮时) - 但我需要检查每个按键。所以问题仍然存在。

1 个答案:

答案 0 :(得分:0)

是的,来自@Dave Becker的解决方案正在发挥作用。在我的情况下,我的登录控件是品牌,没有Button,但ImageButton。在这里,代码如下所示:

<asp:Panel ID="panelLogin" runat="server" DefaultButton="Login$LoginImageButton"> 
<asp:Login ID="Login" onauthenticate="LoginAuthenticateEvent" runat="server">
</asp:Login>
</asp:Panel>