質問

送信ボタンのない検索ボックスがあります。Enterキーを押してメソッドを実行する必要があります。どうすればよいですか?

役に立ちましたか?

解決

CSSを使用して次のような簡単な操作を行うこともできます。

<asp:Panel DefaultButton="myButton" runat="server">
    <asp:TextBox ID="myTextBox" runat="server" />
    <asp:Button ID="myButton" runat="server" onclick="myButton_Click" style="display: none; "  />
</asp:Panel>

パネルは、実装と周囲のコントロールに応じて必要な場合とそうでない場合がありますが、これは機能し、ポストバックを行います。

他のヒント

非表示ボタンをページに追加し、メソッドをそのボタンのクリックイベントに結び付けることができます。次に、テキストボックス内でEnterキーを押したときにボタンのポストバックアクションをトリガーするために、少しのJavaScriptを追加します。

this.myTextBox.Attributes.Add(
    "onkeydown", 
    "return keyDownHandler(13, 'javascript:" 
     + this.Page.ClientScript.GetPostBackEventReference(this.myButton, string.Empty).Replace("'", "%27") 
     + "', event);");

(ハードコードされた13を Windows.Forms.Keys .Enter、読みやすいバージョンをご希望の場合は入力してください。)

keyDownHandlerは次のようなJavaScript関数です:

function keyDownHandler(iKeyCode, sFunc, e) { 
    if (e == null) { 
        e = window.event; 
    } 
    if (e.keyCode == iKeyCode) { 
        eval(unescape(sFunc)); return false; 
    } 
}

注、これは DotNetNuke ClientAPI Webユーティリティ

TextChangedイベントを使用し、AutoPostBackプロパティをtrueに設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top