ご挨拶!
asp:DropDownListとasp:Buttonで構成されるシンプルなナビゲーションメニューがあります。ユーザーはドロップダウンからアイテムを選択し、ボタンをクリックして新しいURLに移動します。ドロップダウンリスト項目が選択されたときにユーザーがEnterキーを押したときに、ボタンをクリックしたかのような動作を再現できるようにサポートできるようにしたいと思います。
これが私がこれまでに持っているものです:
<asp:DropDownList ID="ddlMenu"
runat="server"
onkeypress="if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {__doPostBack('GoButton',''); return false;}" />
<asp:Button ID="btnGoButton" runat="server" onclick="GoButton_Click"/>
ボタンのクリックコードは次のとおりです。
protected void GoButton_Click(object sender, EventArgs e)
{
string l_url = ddlMenu.SelectedItem.Value;
Response.Redirect(l_url);
}
ただし、Enterキーを押すたびにページはポストバックしますが、ボタンのクライアントイベントハンドラーは起動しません。私は何かが足りないのですか?