使用条件逻辑在站点布局页面中调用备用标头

时间:2017-08-03 14:19:07

标签: razor asp.net-webpages

我试图在不使用两个_SiteLayout页面的情况下找到在Razor网页中使用替代标题的方法,每个_SiteLayout都会呈现不同的_header页面。

我正在尝试实现此目的 - 如果调用default.cshtml页面使用header-1,则调用任何其他页面时使用header-2。

我尝试过各种不同的逻辑,包括:IsCurrentPage,Request.QueryString,Request.Url;和CurrentPage.Name。

E.G。

@if ((Request.QueryString["Default"] == null))
{
       @RenderPage("/shared/_header-1.cshtml") 
}
else
{
      @RenderPage("/shared/_header-2.chtml") 
}

@{
 var pageUrl = this.Request.Url;
}
@if (pageUrl = "http://mycompany/Default.cshtml/") {
@RenderPage("/shared/_header-1.cshtml");
}
else
{
@RenderPage("/shared/_header-2.cshtml");
}

有没有人有一个简单的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

虽然,我花了很长时间在这上面,在发布后不久,我找到了答案,感谢:Erik Philips

添加到_SiteLayout:

1

添加到默认页面

n-1

在默认页面中不会调用公共标题,因为而是指定了customHeader;而所有其他页面都使用普通标题