2016-04-06 9 views
0

これは私のcshtmlページにあります。System.Web.Optimization.Styles.Renderは@ifステートメントでレンダリングされません

<head> 
@if (MethodCallThatReturnsBool()) 
{ 
    System.Web.Optimization.Styles.Render("~/css/bundle"); 
} 
</head> 

MethodCallThatReturnsBoolがtrueを返す場合、スクリプトはレンダリングされません。レンダーステートメントを@ifブロックから移動した場合:

<head> 
@System.Web.Optimization.Styles.Render("~/css/bundle"); 
</head> 

マイバンドルのファイルがheadタグにリストされています。

レンダーコールが@ifブロック内で動作しないのはなぜですか?

+0

あなたは 'MethodCallThatReturnsBoolを()'設定されている、あなたのコントローラのコードを表示してくださいすることができますか? –

答えて

1

違いがある場合、@System.Web.Optimization.Styles.Render("~/css/bundle");を頭に追加されたこの呼び出しのテキスト出力に置き換えて、ブラウザがそれを解析して相対リクエストを実行できるようにします。あなたが使用する場合 は、あなたが手動でこのような@System.Web.Optimization.Styles.Render("~/css/bundle");の出力をレンダリングする必要がありますので、あなたが文である「場合」:

@if (MethodCallThatReturnsBool()) 
{ 
    System.Web.HttpContext.Current.Response.Write(System.Web.Optimization.Styles.Render("~/css/bundle")); 
} 
関連する問題