Asp.Net MVC3 RCカミソリビュー:コードの内部を埋め込むための構文ブロック

StackOverflow https://stackoverflow.com/questions/4204669

  •  25-09-2019
  •  | 
  •  

質問

MVC3 RC1 の剃刀ビューのJavaScriptブロック内トラブル埋め込みC#のコードを有します。私はこの作業をするためにどのような構文を使用する必要がありますか?私は警告などを取得します。他の間でISOK変数の期待定数。 (テキストタグなしで、次のコードはJavaScriptとして認識されない)

@{bool isOk = true;}

<script type="text/javascript">
    var tmp1 = "";
    @if (isOk)
    { 
        <text>
            var tmp=""; // this should be interpreted as javascript
        </text>       
    }
</script>
役に立ちましたか?

解決

あなたは内容がサーバー上で評価されていないことを示すために<text>タグを必要としています。たとえばます:

@{
    var isOK = true;
}

<script type="text/javascript">
    var tmp1 = "";
    @if (isOK)
    { 
        <text>
            var tmp = "foo";
        </text>       
    }
</script>

結果ページでの意志出力ます:

<script type="text/javascript">
    var tmp1 = "";
    var tmp = "foo";
</script>
それは完璧にはほど遠いですので

は限りExpected Constant警告に関しては、まあ、レイザーインテリセンスはまだベータ版です。それはあなたが安全に無視でき単なる警告です。重要なことは、アプリケーションが動作し、有効なHTMLを発することは何かということです。これは、最終製品で修正される予定のものであると思います。個人的な経験から、私は信頼唯一の警告はC#コンパイラによって放出された一つです。私はビューで働いていたとき、私は無事に、私はそれが間違っていることを知っているので、Visual Studioが放出するすべての安っぽいの警告を無視します。

他のヒント

次のように

アンの代替(より簡潔で読みやすいIMO)は、テキストに出て戻って脱出することです。

<script type="text/javascript"> 
    var tmp1 = ""; 
    @if (isOK) 
    {  
        @:var tmp = "foo";
    } 
</script> 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top