防止在asp.net中转义javascript代码

时间:2014-04-11 12:17:48

标签: javascript asp.net asp.net-mvc

打印在服务器端创建的javascript代码时遇到了一些麻烦。代码必须放在我的html中,但是asp总是以我的javscript不执行的方式转义字符串。这是我的代码:

//file "generateCode.ascx"
<%
    if (Model.Overrides != null) {                        
        if (Model.Overrides.JavascriptAposTabela != null) {
            %>
            <%: Model.Overrides.JavascriptAposTabela; %>
            <%                            
        }
    }
%>

以上代码的结果示例是:

function getGreenToRed(percent){
    r = percent&lt;50 ? 255 : Math.floor(255-(percent*2-100)*255/100);
    g = percent&gt;50 ? 255 : Math.floor((percent*2)*255/100);
    return &quot;rgb(&quot;+r+&quot;,&quot;+g+&quot;,0)&quot;;
}

$(&quot;.colormeter&quot;).css(&quot;background-color&quot;, getGreenToRed($(this).text()));

这不是预期的结果。 我尝试了这些线程中提出的解决方案,但它对我不起作用:

How do I prevent MVC3 html escaping my validation messages?

Stop the tag builder escaping single quotes ASP.NET MVC 2

我正在使用asp.net mvc 2

1 个答案:

答案 0 :(得分:0)

好。不幸的是,我只是无知。

解决方案非常简单:

//file "generateCode.ascx"
<%
    if (Model.Overrides != null) {                        
        if (Model.Overrides.JavascriptAposTabela != null) {
            %>
            <%= Model.Overrides.JavascriptAposTabela; %>
            <%                            
        }
    }
%>