防止在asp.net中重新加载菜单项上的单击事件

Prevent click event on menu item from reloading in asp.net

本文关键字:菜单项 加载 事件 单击 asp net 新加载      更新时间:2023-09-26

我正在使用带有子菜单项集合的ASP菜单控件。如果用户单击主菜单项,它将重新加载,屏幕将进行回发。当点击主菜单时,它会激怒用户,因为它只是列出类别。如何防止用户点击主菜单项时加载页面我尝试了一些使用javascript的代码,但不起作用。

我的ASP菜单控件:

<asp:Menu ID="mini" OnMenuItemClick="mini_MenuItemClick" runat="server" Orientation="Horizontal" >
    <Items>
        <asp:MenuItem Text="Items">
            <asp:MenuItem Text="sdaad" Value="1" >
                <asp:MenuItem Text="MenuSub1"  Value="MenuSub1" ></asp:MenuItem>
                <asp:MenuItem Text="MenuSub2" Value="MenuSub2" ></asp:MenuItem>
            </asp:MenuItem>
            <asp:MenuItem Text="qwerty" Value="qwerty">
                <asp:MenuItem Text="MenuSub" Value="MenuSub"></asp:MenuItem>
            </asp:MenuItem>
        </asp:MenuItem>
    </Items>
</asp:Menu>

处理问题的Javascript:

function OnMenuItemClick(s, e) {
    if (e.item.name == "Items")
        e.processOnServer = false;
}

首先,将更新面板放入标记中

<asp:UpdatePanel runat="server" id="Update" UpdateModel="Conditional">
</UpdatePanel>

然后使用javascript触发它:

__doPostBack(<%# Update.ClientID%>, '');