【问题标题】:MVC .Net 4 Razor Problems using <text> tag使用 <text> 标签的 MVC .Net 4 Razor 问题
【发布时间】:2012-07-10 03:56:22
【问题描述】:

这是我的代码:

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

@script 包含一个 javascript 脚本,但它被 razor 渲染为:

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

所以...看起来标签不适用于@script 变量,因为单引号被替换为 '。我做错了什么?

谢谢!

【问题讨论】:

  • 您需要插入原始文本,MVC 试图保护您不插入试图成为脚本/html 的流氓文本
  • 即,它转义了所有插入的文本:)

标签: c# javascript asp.net-mvc razor


【解决方案1】:

由于 MVC 会自动对所有输出进行编码,因此您需要强制它显示原始文本。您可以使用@Html.Raw(script) HTML 助手来做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2014-10-15
    相关资源
    最近更新 更多