ASP.Net - 在错误页面隐藏子菜单
ASP.Net - Hide Sub Menu On Error Page
我有一个 asp.net
网站,在某些页面上我显示了子菜单,而其他页面则没有。现在的事情是,我想在我的自定义错误页面上隐藏我的子菜单。
当我点击我的自定义错误页面时,我的 URL 没有改变(例如,用户输入了无效的 URL),因此我需要以某种方式寻找 header或我页面上的某些内容来隐藏或不隐藏它,我无法弄清楚。
在我的 Site.Master.cs
中隐藏子菜单的代码:
protected void Page_Load(object sender, EventArgs e)
{
var URL = Request.Url.PathAndQuery;
if (URL == "/Default" || URL == "/default.aspx" || Request.Url.ToString().Contains("Session") || Request.RequestContext.ToString().Contains("Page"))
{
this.Sidebar.Visible = false;
}
}
HTML 在我的 Site.Master.cs
子菜单文件中:
<div ID="Sidebar" runat="server" class="col-sm-3 hidden-xs" style="padding-left: 0px">
<ul class="nav nav-stacked">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/About">About us</a></li>
<ul class="nav nav-stackedsub">
<li><a runat="server" href="~/testpage">test1</a></li>
<li><a runat="server" href="~/EmailPg">test2</a></li>
</ul>
<li><a runat="server" href="~/Session/pg1">Session</a></li>
<li><a runat="server" href="~/EmailPg">Email</a></li>
</ul>
</div>
看上面的,URL是我的主页或者默认隐藏了。它还隐藏了我所有的 session 页面,但这是因为我的 URL 包含单词 'Session'
有没有办法添加到上面的内容来查找我的错误页面的标题。
如果我需要通过 errorpage.aspx
中的 Javascript/jQuery 完成,那也可以。
在您的 errorpage.aspx 中,您可能只需添加
<script>
document.getElementById("Sidebar").style.visibility = "hidden";
</script>
或者由于 errorpage.aspx 很可能是一个特殊页面,与您的其他页面不同,您可以考虑不只为该文件使用 MasterPage。
我有一个 asp.net
网站,在某些页面上我显示了子菜单,而其他页面则没有。现在的事情是,我想在我的自定义错误页面上隐藏我的子菜单。
当我点击我的自定义错误页面时,我的 URL 没有改变(例如,用户输入了无效的 URL),因此我需要以某种方式寻找 header或我页面上的某些内容来隐藏或不隐藏它,我无法弄清楚。
在我的 Site.Master.cs
中隐藏子菜单的代码:
protected void Page_Load(object sender, EventArgs e)
{
var URL = Request.Url.PathAndQuery;
if (URL == "/Default" || URL == "/default.aspx" || Request.Url.ToString().Contains("Session") || Request.RequestContext.ToString().Contains("Page"))
{
this.Sidebar.Visible = false;
}
}
HTML 在我的 Site.Master.cs
子菜单文件中:
<div ID="Sidebar" runat="server" class="col-sm-3 hidden-xs" style="padding-left: 0px">
<ul class="nav nav-stacked">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/About">About us</a></li>
<ul class="nav nav-stackedsub">
<li><a runat="server" href="~/testpage">test1</a></li>
<li><a runat="server" href="~/EmailPg">test2</a></li>
</ul>
<li><a runat="server" href="~/Session/pg1">Session</a></li>
<li><a runat="server" href="~/EmailPg">Email</a></li>
</ul>
</div>
看上面的,URL是我的主页或者默认隐藏了。它还隐藏了我所有的 session 页面,但这是因为我的 URL 包含单词 'Session'
有没有办法添加到上面的内容来查找我的错误页面的标题。
如果我需要通过 errorpage.aspx
中的 Javascript/jQuery 完成,那也可以。
在您的 errorpage.aspx 中,您可能只需添加
<script>
document.getElementById("Sidebar").style.visibility = "hidden";
</script>
或者由于 errorpage.aspx 很可能是一个特殊页面,与您的其他页面不同,您可以考虑不只为该文件使用 MasterPage。