2017-06-16 4 views
0

すべてのスクリプトレンダリングバンドルがうまくレイアウトされたレイアウトファイルがあります。しかし、アプリケーション全体をアップグレードするための進歩として、いくつかの条件付きロジックを注入し、問題のバンドルが読み込まれなくなりました。前@Scriptsはcshtmlで描画しません。@ifブランチですが、条件付きのロジックなしでレンダリングします。

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0 maximum-scale=1.0"> 
    <title>@ViewBag.Title</title> 
    <meta name="format-detection" content="telephone=no"> 

    @Scripts.Render("~/Bundles/corejs") 

再び上記の作品とのバンドルがロードされます。

テスト:

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0 maximum-scale=1.0"> 
    <title>@ViewBag.Title</title> 
    <meta name="format-detection" content="telephone=no"> 

    @Scripts.Render("~/Bundles/corejsv1") 

以上もので、両方のバンドルは、それが思われる生成されて動作します。

障害:

<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0 maximum-scale=1.0"> 
    <title>@ViewBag.Title</title> 
    <meta name = "format-detection" content = "telephone=no"> 

    @if (Request.Cookies["abcd"] != null) 
    { 
     var appABCD = bool.Parse(Request.Cookies["abcd"].Value.ToString()); 

     if (appABCD) 
     { Scripts.Render("~/Bundles/corejsV1"); } 
     else 
     { Scripts.Render("~/Bundles/corejs"); } 
    } 
    else 
    { 
     //default is cookie is null 
     Scripts.Render("~/Bundles/corejs"); 
    } 

上記バンドルをロードするために失敗した....なぜ?

答えて

0

は、代わりにあなたのビューで以下のようにしてみ@を使用し、最後に;を使用しないでください:

if (appABCD) 
{ 
    @Scripts.Render("~/Bundles/corejsV1") 
} 
else 
{ 
    @Scripts.Render("~/Bundles/corejs") 
} 
+0

私はあまりにもことをしようとしました。 – GPGVM

+0

ああ、それは変です!私のために働く。あなたの状態は機能していますか?どのラインに入るのかデバッグしましたか? – User3250

+0

それは働いている...私はそれを試みたが、私はタイプミスを持っていたと思う。戻って、もう一度やり直してください。あなたは正しいです。ワーキング。 – GPGVM

関連する問題