【发布时间】:2011-10-28 09:50:50
【问题描述】:
我有一个 Html.TextBoxFor,我想为它分配一些动态 javascript(特别是 onchange 事件):
@Html.TextBoxFor(model => answer.Value, new { @class = "answerinput", @onchange = "submitAnswer(\"" + Model.QuestionID.ToString() + "\")" });
但是,当我检查生成的 HTML 时,传入 javascript 函数的值周围的引号被编码,这是一个问题:
onchange="submitAnswer("3")"
我尝试了一些方法,例如将字符串放入 IHtmlString,然后在分配中使用 IHtmlString,但结果始终相同。
有没有办法防止 MVC 对分配给 @onchange 的值进行编码?
谢谢!
【问题讨论】:
-
你试过把它变成一个 MvcHtmlString 吗?例如:
onchange = MvcHtmlString.Create("\"3\"") -
抱歉 Tejs,结果相同(引号仍然被编码)。
标签: c# javascript asp.net-mvc-3