0

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

<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.cs 文件中的代码:

protected void mnuMain1_MenuItemClick(object sender, MenuEventArgs e)
    {
        MenuItem mnu = e.Item;
    }

我创建了一个从主服务器继承的网页 - 这要求用户填充位置字段。当用户点击一个菜单项时,它需要在继续之前检查 Location 字段是否有值。我在代码中声明了一个 MenuItemClick 事件处理程序。MenuItemClick 事件会在 Master 上触发,但不会在继承的页面上触发。

我错过了一些非常明显的事情吗?

4

1 回答 1

1

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

查看这篇文章: http: //www.codeproject.com/Articles/36055/Interaction-Between-Content-Page-and-Master-Page

于 2013-04-29T15:47:46.787 回答