我的Master page
包含一个顶部栏,其中包含几个按钮以及一个左侧菜单栏,用户可以通过该菜单栏浏览Web应用程序。我的Login.aspx
页面是一个内容页面,但我不希望在内容页面登录时显示左侧菜单栏。
这是我母版页面的一部分:
<div id="body">
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
<table class="auto-style1">
<tr>
<td class="auto-style2" style="vertical-align: top">
<div id="leftmenu">
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticDisplayLevels="2" Font-Size="Medium">
<LevelSubMenuStyles>
<asp:SubMenuStyle CssClass="level1" />
</LevelSubMenuStyles>
<StaticHoverStyle CssClass="hoverstyle" />
</asp:Menu>
</div>
</td>
<td>
<asp:ContentPlaceHolder runat="server" ID="MainContent" />
<br />
</td>
</tr>
</table>
<section class="content-wrapper main-content clear-fix">
</section>
</div>
我正在寻找一种方法来检查母版页文件的MainContent
中已打开页面的名称,如果该页面为Login.aspx
,我会将Menu1
设置为隐藏。
答案 0 :(得分:1)
您必须以相反的方式思考:从内容页面访问母版页的控件。
此指令导致内容页面的Master属性被强类型化。在您的内容页面中添加:
<%@ MasterType virtualpath="~/YourMasterPage.master" %>
在母版页中创建以下属性:
public bool IsMenuVisible
{
get
{
return Menu1.Visible;
}
set
{
Menu1.Visible = value;
}
}
在内容页面中使用它:
Master.IsMenuVisible = false;
更多信息: