__doPostBack不会触发来自javascript

时间:2016-11-28 16:56:09

标签: asp.net menu webforms server-side server-side-scripting

我有服务器端点击事件的asp.net菜单。菜单使用每个菜单项的__doPostBack事件正确呈现。 但是当我从javascript覆盖其中一个菜单项以传递不同的参数时,它会触发服务器事件但不会保护子菜单.Bar_MenuItemClick(发送者为对象,e为MenuEventArgs)处理menuBar.MenuItemClick事件。

菜单项呈现如

    <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>

覆盖javascript如下

$(document).ready(function () {

$(".menuBar_1 staticMenuItem menuBar_4").on( "click", function() {
handleChange();
    });
});

function function handleChange(){
 __doPostBack("ctl00$ucPageHeader1$menuBar", "74");
}

以某种方式点击链接1可以激活menuBar_MenuItemClick但不能激活链接2.

对于这两个链接点击我确实得到了?请求(&#34; __ EVENTTARGET&#34;)=&#34; ctl00 $ ucPageHeader1 $ menuBar&#34;在即时窗口。

任何猜测?

1 个答案:

答案 0 :(得分:0)

我得到了答案。 我正在传递的一个论点&#34; 74&#34;在菜单项的任何值中都没有。 所以我不得不添加值为74的新菜单项并将其从javascript中隐藏。

我希望这可以帮助别人。