javascript - 登录控制,通过按键设置onauthenticate ="LoginAuthenticateEvent"

标签 javascript c# login-control

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

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

具有 *.cs 功能,例如

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

但只有在按下登录按钮时才会启动身份验证,而不是通过文本框中的“Enter”来启动。

所以我决定将此事件设置为 javascript 'onkeypress' 事件,并希望它检查键码是否为 13(Enter) - 并启动 LoginAuthenticateEvent。 但有一个问题 - 从 JS 函数调用 C# 函数应该是静态的,但在我的例子中它是“protected void”

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

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

我明白应该有类似的东西

tboxUserName.attr("onkeypress","....");

但是如何挂起 key 检查并使其成为 onauthenticate="LoginAuthenticateEvent"之类的?

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

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

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

最佳答案

是的,@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>

关于javascript - 登录控制,通过按键设置onauthenticate ="LoginAuthenticateEvent",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28497672/

相关文章:

javascript - 使用 Chrome 扩展上下文菜单将链接的 URL 传递给回调函数

javascript - 客户端心投票

c# - 如何禁用 FlipView 键盘按键而不在子控件上禁用它

c - 测试本地用户登录数据

ruby - Web框架中的 Controller ? [ ruby ,Grails等。]它们如何工作?

spring-security - 奇怪的行为 spring 安全 session 并发

javascript - 用 null 拆分函数参数?

javascript - Bootstrap 4 轮播幻灯片没有动画

c# - 使用 Async/Await 和 EntityFramework 调用多个存储过程

c# - 如何将字节数组转换为邮件附件