1

私は徹底的に調べましたが、これに対する明確な解決策は見つかりませんでした。私の同僚はかなり汚い解決策を見つけましたが、マスターページに配置したときに、以下のリンク参照の解決策が機能しない理由がわかりません。基本的にテキストボックスとリンクボタンを持つマスターページがあります.Enterキーを押すと、代わりに子ページのデフォルトボタンが呼び出されます.

  1. http://weblogs.asp.net/jeff/archive/2005/07/26/420618.aspx
  2. asp.netのasp:panelのデフォルトボタンとしてlinkbuttonを設定します(Ahmadのソリューション)

これについての洞察はありますか?ありがとう :)

明日仕事に着いたら、汚い解決策を投稿します。

編集:ここに汚い(私が思う)解決策があります:

string id = ctlToClick.UniqueID;
string someJavascript = //see below
EmailTextBox.Attributes.Add("OnKeyPress", someJavascript);

JavaScript (ここに配置して、StackOverflow がより適切にフォーマットできるようにします):

javascript:if (window.event){
    if(parseInt(window.event.keyCode) == 13){
    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('" + id + "', '', true, 'Login', '', false, true));
    return false;
    }
}

これは本当にこれに対する唯一の解決策ですか?

4

2 に答える 2

1

defaultButtonプロパティを設定しようとしましたか?

<form id="Form1"
        defaultbutton="lnkNextPage" 
        runat="server">

コントロールの IDlnkNextPageはどこにありますか。LinkButton

于 2010-12-07T05:24:17.527 に答える
0

タブ/Enterキーを制御するには、単純なjavascriptが必要だと思います。デフォルトのボタンソリューションを機能させる方法がない前に、これに遭遇しました。

アイデアは単純です - テキストボックスに入力された各キーをチェックしてください。押されたキーが Enter または Tab の場合、jquery または document.GetElementById('id') のいずれかでボタンを見つけ、ボタンでクリック イベントを呼び出します。

フォームのデフォルト ボタンは、a): フォームが 1 つしかないため、asp.net では機能しません。b): さまざまなテキスト ボックスに対して、実際にクリックされるボタンを制御できるようにする必要があります (タブ/Enter で)。

シンプルな JavaScript ファイルがこれを解決します。

<bleepzter/>
于 2010-12-08T02:44:54.140 に答える