取消 Telerik RadGrid 上的按键 [Enter] 操作

发布于 2025-01-03 13:15:22 字数 1147 浏览 1 评论 0原文

我有一个 Telerik Radgrid,其中包含可用于解锁我的网页上的功能的所有有效用户名和密码。

密码已加密,因此您必须单击该行才能解密并显示实际密码。所有用户名和密码都可以由管理员更改

当管理员按 [ENTER] 提交新的用户名/密码组合(而不是按提交按钮)时,新组合实际上已提交(这很好)。


但是,我的问题是,默认情况下,RadGrid 选择下一行,这会解密密码并允许您编辑用户名/密码。

理想情况下,按 [ENTER] 只会提交用户名/密码组合,而不选择任何其他行。如果不可能,按 [ENTER] 不会执行任何操作。

如果尝试过以下 javascript 代码:

<script type="text/javascript">                
    function KeyPressed(sender, eventArgs) {
        if (eventArgs.get_keyCode() == 13) 
        {
            alert("Cancelling event");
            eventArgs.set_cancel(true);
        }
    }
</script>

会引发警报框,但 [ENTER] 事件不会中断。

编辑:请注意,该警报仅用于测试!

我还将此代码添加到我的 RadGrid 控件中以添加按键捕获

    <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" ClientEvents-OnKeyPress="KeyPressed" AllowKeyboardNavigation="true">
        <Selecting AllowRowSelect="True" />
    </ClientSettings>

我的问题是:如何中断 [ENTER] 按键事件?或者修改它的行为? 如果有任何提示,我将不胜感激


,我正在 Visual Studio 2008 上使用 VB.net。 我使用的是 ASP.net 2.0 版本

I have a Telerik Radgrid containing all the valid usernames and passwords that can be used to unlock functionnalities on my web page.

The password is encrypted, so you have to click the row to decrypt and show the actual password. All usernames and passwords can be changed by an admin

When the admin presses [ENTER] to submit the new username/password combination (instead of pressing the submit button), the new combination is actually submitted (which is fine).


However, my problem is that, by default, the RadGrid selects the next row, which decrypts the password and lets you edit the username/password.

Ideally, pressing [ENTER] would only submit the username/password combination, not selecting any other row. If that's not possible, pressing [ENTER] should not do anything.

If have tried the following javascript code:

<script type="text/javascript">                
    function KeyPressed(sender, eventArgs) {
        if (eventArgs.get_keyCode() == 13) 
        {
            alert("Cancelling event");
            eventArgs.set_cancel(true);
        }
    }
</script>

The alert box is raised, but the [ENTER] event is not interrupted.

Edit: Note that the alert is for testing only!

I have also added this code to my RadGrid control to add KeyPress capture

    <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" ClientEvents-OnKeyPress="KeyPressed" AllowKeyboardNavigation="true">
        <Selecting AllowRowSelect="True" />
    </ClientSettings>

My question is: How can I interrupt the [ENTER] keypress event? Or modify its behavior?
Any hints will be appreciated


I am using VB.net on Visual Studio 2008.
I am using ASP.net version 2.0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

囍孤女 2025-01-10 13:15:22

这是我的 javascript 代码,用于取消 Enterkey 上的事件。

 function CheckKey() {
            if (event.keyCode == 13) {
                CancelEvent();
            }
        }
 function CancelEvent() {
            var e = window.event;

            e.cancelBubble = true;
            e.returnValue = false;
            if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
            }        
        }

Here is my javascript code to cancel an event on enterkey.

 function CheckKey() {
            if (event.keyCode == 13) {
                CancelEvent();
            }
        }
 function CancelEvent() {
            var e = window.event;

            e.cancelBubble = true;
            e.returnValue = false;
            if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
            }        
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文