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

Mso*_*nic 3 vb.net asp.net keypress visual-studio-2008 telerik-grid

我有一个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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

    <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" ClientEvents-OnKeyPress="KeyPressed" AllowKeyboardNavigation="true">
        <Selecting AllowRowSelect="True" />
    </ClientSettings>
Run Code Online (Sandbox Code Playgroud)

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


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

Etc*_*tch 6

这是我在gokey上取消活动的javascript代码.

 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();
            }        
        }
Run Code Online (Sandbox Code Playgroud)