2012-07-10 93 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