我试图在不使用两个_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");
}
有没有人有一个简单的方法来实现这个目标?
答案 0 :(得分:0)
虽然,我花了很长时间在这上面,在发布后不久,我找到了答案,感谢:Erik Philips
添加到_SiteLayout:
1
添加到默认页面
n-1
在默认页面中不会调用公共标题,因为而是指定了customHeader;而所有其他页面都使用普通标题