【问题标题】:__doPostBack does not fire server side MenuItemClick event for overrided menu item from javascript__doPostBack 不会为来自 javascript 的覆盖菜单项触发服务器端 MenuItemClick 事件
【发布时间】:2017-04-12 11:41:57
【问题描述】:

我有带有服务器端点击事件的 asp.net 菜单。使用每个菜单项的 __doPostBack 事件正确呈现菜单。 但是,当我从 javascript 覆盖其中一个菜单项以传递不同的参数时,它会触发服务器事件,但不会触发 Protected Sub menuBar_MenuItemClick(sender As Object, e As 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。

对于这两个链接单击我都会在即时窗口中得到 ?request("__EVENTTARGET") = "ctl00$ucPageHeader1$menuBar"。

有什么猜测吗?

【问题讨论】:

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


    【解决方案1】:

    我得到了答案。 我传递“74”的参数在任何菜单项的值中都不可用。 所以我不得不添加值为 74 的新菜单项并将其隐藏在 javascript 中。

    我希望这可能对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-11-17
      • 1970-01-01
      • 2018-07-31
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      相关资源
      最近更新 更多