Button
をASP.NET Panel
のDefaultButton
として使用すると宣言するとどうなりますか? ASP.NETがPanelのコンテンツをdiv
にレンダリングし、ViewStateにたくさんのものを渡すことを理解します。レンダリングされたボタンのクリックイベントを処理するJavaScriptがViewState内にありますか?私は、ViewStateがちょうどそれだと思った - 状態についての情報。どのように機能するのですか?PanelのDefaultButtonプロパティはどのように機能しますか?
5
A
答えて
11
あなたはViewStateについて正しくあります。ページとコントロールの値を保持するように設計されています。つまり、の状態はです。 hereを確認できます。
デフォルトのボタンについては、魔法はありません。 ENTERキーイベントをバインドするには、div
にjavascriptが追加されています。
ぜひご覧ください。このコード:
<div id="panel" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'button')">
<input type="submit" name="button" value="this is the button" id="button">
</div>
このJavaScriptはWebフォームエンジンによって生成されていますが、興味があれば、私たちは、それを探すことができます:
<asp:Panel ID="panel" runat="server" DefaultButton="button">
<asp:Button ID="button" runat="server" Text="this is the button" />
</asp:Panel>
はこれにレンダリングされ
function WebForm_FireDefaultButton(event, target) {
if (event.keyCode == 13) {
var src = event.srcElement || event.target;
if (!src || (src.tagName.toLowerCase() != "textarea")) {
var defaultButton;
if (__nonMSDOMBrowser) {
defaultButton = document.getElementById(target);
}
else {
defaultButton = document.all[target];
}
if (defaultButton && typeof(defaultButton.click) != "undefined") {
defaultButton.click();
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
}
return true;
}
現在フォーカスされているコントロールがtextarea
であるかどうかを調べる方法に注目してください。これは、textarea
の中のENTERは、主に新しい行であり、送信ではないためです。
関連する問題
- 1. asp.net panel defaultbuttonが動作しません
- 2. $ .mobile.activePageプロパティはどのように機能しますか?
- 3. dropbox.comの複数のファイルアップロード機能はどのように機能しますか?
- 4. JQueryのdatepickerのポップアップ機能はどのように機能しますか?
- 5. jqueryのshow/hide機能はどのように機能しますか?
- 6. 機能の削減はどのように機能しますか?
- 7. セッターテンプレートのライブライブテンプレート機能はどのように機能しますか?
- 8. Facebookのリンク機能はどのように機能しますか?
- 9. Pythonの "all"機能はどのように機能しますか?
- 10. 豚の置換機能はどのように機能しますか?
- 11. JavaScriptのパワー機能はどのように機能しますか?
- 12. Readerモナドの「質問」機能はどのように機能しますか?
- 13. この機能割り当てはどのように機能しますか?
- 14. Safariのリーダー機能はどのように機能しますか?
- 15. AddImplicitRequiredAttributeForValueTypesが実際にどのように機能し、どのように機能していますか?ここ
- 16. Node.jsでは、イベントループはどのように機能しますか?
- 17. このPythonコードはどのように機能しますか?
- 18. NSObjectの継承はどのように機能しますか?
- 19. surfaceflingerのインターフェースはどのように機能しますか?
- 20. このコードはどのように機能しますか? [HARD]
- 21. WPFのNameScopeはどのように機能しますか?
- 22. Androidのスキャナはどのように機能しますか?
- 23. WebAudio:setTargetAtTimeのtimeConstantはどのように機能しますか?
- 24. このJSコピートリックはどのように機能しますか?
- 25. Objective Cのallocはどのように機能しますか?
- 26. Raspberry Piのブートローダはどのように機能しますか?
- 27. PDFの座標はどのように機能しますか?
- 28. Perlのスレッドシステムはどのように機能しますか?
- 29. Androidのビルドプロセスはどのように機能しますか?
- 30. C++のイテレータカテゴリはどのように機能しますか?
ViewStateは、ASP.NETページが要求間で情報を保持するための単なる手段です(言い換えれば、あるページから別のページへのアクセス) - クライアント側のJavaScriptに影響を与えず、 –