2017-08-03 4 views
0

2つの_SiteLayoutページを使用せずに、それぞれの_SiteLayoutが別の_headerページを表示するように、Razor Webページで代替ヘッダーを使用する方法を探しています。条件付きロジックを使用してサイトレイアウトページで代替ヘッダーを呼び出す

私はこれを達成しようとしています - default.cshtmlページがuse 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

私はおかげ答えが見つからない長い掲示した後、これに長い時間を費やし、けれども:Erik Philips

が_SiteLayoutに入れる:

@if (IsSectionDefined("customHeader")) 
{  
@RenderSection("customHeader") 
} 
else 
{ 
@RenderPage("/shared/_header.cshtml") 
} 

は、デフォルトのページへ

@section customHeader{ 
This is custom header 
} 
を追加します。

代わりにcustomHeaderが指定されているため、[共通]ヘッダーは[既定]ページで呼び出されません。一方、他のすべてのページは通常のヘッダーを使用します

関連する問題