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

prevent javascript code escaping in asp.net

本文关键字:代码 转义 javascript 中的 asp net 防止      更新时间:2023-09-26

打印在服务器端创建的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()));

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

如何防止MVC3 html转义我的验证消息?

停止标记生成器转义单引号ASP.NET MVC 2

我使用的是asp.net mvc 2

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

解决方案非常简单:

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