0

リスト ボックス (GroupListBox) があり、このリスト ボックスの Enter キーを押すイベントを C# Web フォームでキャッチしたいと考えています。私は多くの方法を試しましたが、誰も私のために働いていません。

4

1 に答える 1

1

サーバー側でこれを実行する場合は、__doPostBackを使用してポストバックを取得する必要があります。

あなたのリストボックス-

<asp:ListBox ID="ListBox1" runat="server" onkeydown="enterKeyPressed(event);">
            <asp:ListItem>one</asp:ListItem>
            <asp:ListItem>two</asp:ListItem>
            <asp:ListItem>Three</asp:ListItem>
 </asp:ListBox>

Javascript関数-

<script language="javascript" type="text/javascript">
    function enterKeyPressed(e) {
         if (window.event) {
            e = window.event;
        }
        if (e.keyCode == 13) {
            __doPostBack('ShowMessage', '');
        }
    }
</script>

ページのページ読み込みイベントで-

protected void Page_Load(object sender, EventArgs e)
    {
        ClientScript.GetPostBackEventReference(this, string.Empty);
        if (Request.Params["__EVENTTARGET"] != null)
            if (Request.Params["__EVENTTARGET"] == "ShowMessage")
            {
                Label1.Text = "Enter is pressed";
            }
 }
于 2012-12-27T13:41:07.297 に答える