サーバーサイドクリックイベントを持つasp.netメニューがあります。メニューは各メニュー項目の__doPostBackイベントで正しく表示されます。 しかし、別の引数を渡すためにjavascriptからメニューアイテムの1つをオーバーライドすると、サーバーイベントは発生しますが、保護されていないサブメニューは表示されません。menuBar_MenuItemClick(送信者オブジェクト、e As MenuEventArgs)menuBar.MenuItemClickイベントを処理します。__doPostBackはサーバーサイドを起動しません。JavaScriptの上書きされたメニュー項目のMenuItemClickイベント
メニュー項目は、リンクの両方について
$(document).ready(function() {
$(".menuBar_1 staticMenuItem menuBar_4").on("click", function() {
handleChange();
});
});
function function handleChange(){
__doPostBack("ctl00$ucPageHeader1$menuBar", "74");
}
何とかリンク1をクリックするとmenuBar_MenuItemClickを発射することができます
ではなく、リンク2の
を次のようにJavaScriptで上書き
<a class="menuBar_1 staticMenuItem menuBar_3"
style="font-size: 1em;" href="javascript:__doPostBack('ctl00$ucPageHeader1$menuBar','6')">
Link 1</a>
<a class="menuBar_1 staticMenuItem menuBar_4"
style="font-size: 1em;" href="javascript:__doPostBack('ctl00$ucPageHeader1$menuBar','7')">
Link 2</a>
のようにレンダリングします直前のウィンドウで[取得しますか?]をクリックします。request( "__ EVENTTARGET")= "ctl00 $ ucPageHeader1 $ menuBar"
推測できますか?