当前位置: 代码迷 >> JavaScript >> ASP.Net-在错误页面上隐藏子菜单
  详细解决方案

ASP.Net-在错误页面上隐藏子菜单

热度:29   发布时间:2023-06-06 09:47:57.0

我有一个asp.net网站,在某些页面上显示了子菜单,而在其他页面上却没有。 现在,我想在我的自定义错误页面上隐藏子菜单。

当我点击自定义错误页面时,我的URL不会更改(例如,用户输入了无效的URL),因此,我需要以某种方式查找页眉或页面上的某些内容以将其隐藏或隐藏,而我无法找到它出来。

我的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;
    }
}

我的Site.Master.cs文件中用于子菜单的HTML:

<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是我的主页或隐藏的默认URL。 如果我的所有会话页面也都隐藏,但这是因为我的URL包含“会话”一词

有没有添加到上面的方法来寻找我的错误页面的标题。

如果我需要在errorpage.aspx通过Javascript / jQuery完成此errorpage.aspx ,那也很好。

在您的errorpage.aspx中,您可能只需添加

<script>
    document.getElementById("Sidebar").style.visibility = "hidden";
</script>

或者由于errorpage.aspx很可能是一个特殊页面,与其余页面不同,因此您可以考虑不将MasterPage仅用于该文件。

  相关解决方案