单击菜单项时,菜单项单击事件未能触发事件方法的代码隐藏。我在菜单中添加了 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/