我正在用 Visual Studio Web Developer 2010(速成版)编写一个网站。我创建了一个主文件,我的内容使用它来设置样式。
我想在我的主文件中放置一个右手菜单,但是从实际的网站页面中,我想说它是否应该显示特定的菜单项。例如,主页将在右侧有一组特定的菜单项,而联系页面可能有另一组。
我应该设置它以便主文件处理是否显示某些菜单项的真或假(默认全部为假)......还是应该从内容页面处理这个?即:调用菜单函数从那里绘制?
我正在用 Visual Studio Web Developer 2010(速成版)编写一个网站。我创建了一个主文件,我的内容使用它来设置样式。
我想在我的主文件中放置一个右手菜单,但是从实际的网站页面中,我想说它是否应该显示特定的菜单项。例如,主页将在右侧有一组特定的菜单项,而联系页面可能有另一组。
我应该设置它以便主文件处理是否显示某些菜单项的真或假(默认全部为假)......还是应该从内容页面处理这个?即:调用菜单函数从那里绘制?
您可以向页面添加母版页声明,以便您可以像这样以编程方式访问它:
<%@ MasterType virtualPath="~/MasterPage.master"%>
将其放在要启用或禁用访问的页面上的页面标记下。
然后,在您的代码中,您可以访问母版页方法,其中一个方法可以是启用或禁用该侧菜单的方法。
就像是:
Master.MyEnableMenuMethod();
此外,您可以动态添加该母版页声明,如下所示:
void Page_PreInit(Object sender, EventArgs e)
{
this.MasterPageFile = "~/MasterPage.master";
}
有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/c8y19k6h(v=vs.85).aspx。
我做这种事情的方法是把一些代码和菜单标记放在一起:
<% if(!HttpContext.Request.Path.Contains("Contact.aspx")) { %>
<li> <a href="Contact.aspx">Contacts</a></li>
<%}%}>
等等...