2012-02-07 32 views
3

我有一個Telerik Radgrid包含所有可用於解鎖我的網頁上的功能的有效用戶名和密碼。取消Telerik RadGrid上的按鍵[Enter]動作

密碼被加密,因此您必須單擊該行才能解密並顯示實際密碼。所有用戶名和密碼都可以通過管理員更改

當管理員按下[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> 

警告框上升,但[設置]事件不會中斷。

編輯:請注意,該警報僅用於測試!

我也加入了此代碼,以我的radgrid控件控件添加按鍵響應捕獲

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

我的問題是:我怎樣才能打斷[設置]按鍵事件?或者修改它的行爲? 任何提示將我使用的VB.net上的Visual Studio 2008 我使用ASP.net 2.0

回答

6

理解


這裏是我的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(); 
      }   
     } 
+1

它的工作原理!非常感謝! – Msonic 2012-02-07 20:49:05