2012-02-07 10 views
3

私はを持っています。Telerik Radgrid私のWebページで機能のロックを解除するために使用できるすべての有効なユーザー名とパスワードが含まれています。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> 

を、しかし、イベントが中断されていない[ENTER]。

編集:アラートはテスト用です。

は、私はまた、KeyPressイベントのキャプチャに追加するには、私のRadGridコントロールにこのコードを追加した

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

私の質問です:私は、[ENTER]キープレスイベントを中断することができますどのように?または、その動作を変更しますか? 任意のヒントは、私はASP.netバージョン2.0

答えて

6

を使用しています私は、Visual Studio 2008 にVB.netを使用しています


を理解されるであろうことはここではEnterキーでイベントをキャンセルするために私の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(); 
      }   
     } 
+1

これは機能します。どうもありがとう! – Msonic

関連する問題