c# - MenuItem 事件未在 asp.net 菜单中触发

标签 c# asp.net menu

单击菜单项时,菜单项单击事件未能触发事件方法的代码隐藏。我在菜单中添加了 OnMenuItemClick(Menu_Item_Click),即使它无法触发事件背后的代码。

我该如何解决这个问题?

/** Asp.net 模板代码在这里 **/

     <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" 
            EnableViewState="True" IncludeStyleBlock="False" Orientation="Horizontal" 
            BackColor="#F7F6F3" DynamicHorizontalOffset="2" Font-Names="Arial, Helvetica, sans-serif"
            Font-Size="0.8em" ForeColor="#7C6F57" StaticSubMenuIndent="10px" OnMenuItemClick="Menu_Item_Click">

<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx"  Text="Default">
<asp:MenuItem NavigateUrl="~/Search.aspx" Text="Search">
</Items>
</asp:Menu>

代码隐藏代码在这里

protected void Menu_Item_Click ( object sender, MenuEventArgs e )
{
   /** Some Validation goes here **/
}

最佳答案

我也遇到过这个问题。 我通过删除字段 NavigateUrl 解决了这个问题。 如果您删除此字段,则会触发点击事件。 在函数(事件处理函数)中,您可以使用以下代码导航到使用以下代码的必要页面。

protected void MainMenu_MenuItemClick(object sender, MenuEventArgs e)
{
    /*your necessary code*/
    Response.Redirect(((Menu)sender).SelectedItem.Target);

}

在上面的代码中,TargetField 在 Menu 标签中指定了必要的地址。

或者您可以直接指定地址。

protected void MainMenu_MenuItemClick(object sender, MenuEventArgs e)
{
    /*your necessary code*/
    Response.Redirect("Page.aspx");

}

关于c# - MenuItem 事件未在 asp.net 菜单中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17321926/

相关文章:

html - 带有子菜单的垂直导航,每个级别的图像向上和向下链接,在选定页面上时事件链接突出显示

c# - 如何在浏览器标题中加入 Unicode

c# - 使用 LINQ 订购两个不同的 C# 列表

c# - 使用 Windows 凭据以编程方式登录 TFS

asp.net - 如何从代码中获取 ASP.NET 主机环境的详细信息

c# - 为什么页面加载事件没有触发?

javascript - 使用 JavaScript 将 ajax 日历值转换为文本框模糊事件中的日期时间

java - 捕获关于、首选项和退出菜单项

jquery - 单击 jQuery SmartMenus 中的顶级链接时如何打开子菜单

c# - 使用带有 C# 的 API 将配置文件添加到 Google Analytics