如何在客户端C#(asp.net)中检查Caps Lock状态

时间:2017-01-26 01:49:38

标签: c# asp.net client capslock

如何在客户端C#(asp.net)中检查'Caps Lock'状态?我不知道用户类型是什么,因为他们在PKI activeX上键入id / pw。所以我必须知道他们何时点击PKI呼叫按钮。 (.net framework version 2.0)

当我开发此代码时...▷▶

在aspx(短代码)

<head>
    <script type="text/javascript">
        function PKIInstallCheck() {
            if (document.getElementById('capsLock').value == "true"){
                alert ("Caps Lock On");
            }
            // call PKI ActiveX...
        }
    </script>
</head> 
<body>
    <form>
        <asp:ImageButton OnClientClick="return PKIInstallCheck()" runat="server"/>
        <input type="hidden" id="capsLock" name="capsLock" runat="server"/>
    </form>
</body>

in cs(短代码)

using System;
using System.windows.forms;
...

public partial class @@@@ : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(Control.IsKeyLocked(Keys.CapsLock))
            capsLock.Value = "true";
        else
            capsLock.Value = "False";
    }
}

但是这段代码只是警告服务器端的CapsLock状态。 我想知道客户的CapsLock状态。我怎么能够?

1 个答案:

答案 0 :(得分:1)

why dont you try it using Jquery:

1。按键调用功能 得到性格 3.检查是否有上限并抛出警报。

$('#yourId').keypress(function(e) { 
    var s = String.fromCharCode( e.which );
    if ( s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey ) {
        alert('caps on');
    }
});