C# menuitemclick主页面而非子页面上的事件触发

C# menuitemclick主页面而非子页面上的事件触发,c#,asp.net,C#,Asp.net,我在母版页上有一个包含以下内容的菜单: <asp:SiteMapDataSource runat="server" ID="SiteMapDataSource" ShowStartingNode="false" /> <asp:Menu ID="mnuMain1" runat="server" RenderingMode="List" StaticSelectedStyle-CssClass="selected" IncludeStyleBlock="false" Data

我在母版页上有一个包含以下内容的菜单:

<asp:SiteMapDataSource runat="server" ID="SiteMapDataSource" ShowStartingNode="false" /> 

<asp:Menu ID="mnuMain1" runat="server" RenderingMode="List" StaticSelectedStyle-CssClass="selected" IncludeStyleBlock="false" DataSourceID="siteMapDataSource" MaximumDynamicDisplayLevels="0" OnMenuItemClick="mnuMain1_MenuItemClick">
         <DataBindings>
            <asp:MenuItemBinding DataMember="SiteMapNode" TextField="Title" />
         </DataBindings>
</asp:Menu>
我已经创建了一个从master继承的网页-这要求用户填充一个位置字段。当用户单击菜单项时,需要在继续之前检查位置字段是否有值。我在代码中声明了一个MenuItemClick事件处理程序。MenuItemClick事件在母版上触发,但在继承的页面上不触发


我是否遗漏了一些非常明显的内容?

AutoEventWireup在使用母版页的页面上不起作用。必须显式绑定事件接收器。您可以通过在母版页上将控件作为事件公开,然后绑定到子页中的事件来实现这一点

查看本文:

您继承母版页,或者在web表单的
页面声明中使用
母版页文件
引用母版页?它在页面声明中引用:
母版页文件=“~/Site.master”
我想我很难理解您为什么要调用此菜单(位于母版页中)在页面中添加了代码。添加了更多的细节-基本上,我在页面中有更多从母版继承的逻辑。单击菜单项时,需要在离开页面之前执行检查。
protected void mnuMain1_MenuItemClick(object sender, MenuEventArgs e)
    {
        MenuItem mnu = e.Item;
    }