2012-07-10 70 views
1

這裏是我的代碼:MVC .NET 4的剃刀問題

<text> 
    <script type="text/javascript">  
    @foreach (var script in Model.Content.StartupScripts) 
    { 
     @script 
    }  
    </script> 
</text> 

@Script包含一個javascript腳本,但此得到由剃刀呈現爲:

<script type="text/javascript">  
    { 
      { 
       var instanceId = &#39;blah&#39;; 
       new RequestQueue(&#39; blah 
     // etc 

所以...它看起來像標籤不適用於@script變量,因爲單引號被替換爲&#39 ;.我究竟做錯了什麼?

謝謝!

+2

你需要插入原始文本,MVC試圖保護你免於插入流氓文本,這是試圖成爲腳本/ HTML – 2012-07-10 03:59:31

+0

即,其轉義所有文本被插入:) – 2012-07-10 03:59:57

回答

2

由於MVC會自動編碼所有輸出,因此您需要強制它顯示原始文本。您可以使用@Html.Raw(script) HTML助手完成此操作。

+0

完美!奇蹟般有效。 – theninjagreg 2012-07-10 04:11:23