【发布时间】:2015-07-10 04:26:00
【问题描述】:
我有一个 MVC 项目,我将数据存储在数据库中,我的一个视图包含用于编辑这些数据的文本框。
由于具体情况,我无法直接通过 TextBoxFor()、EditorFor() 等创建文本框,但必须使用 JavaScript 影响值,所以我要做的是在页面加载时在 javascript 代码中写入所需的值,并且稍后会触发此代码以影响文本框的值。
$("#textboxID").val("@HTML.Raw(Model.value)");
这可以正常工作,直到其中一个字符串包含引号。
当我直接输入时
$("#textboxID").val("@Model.value");
它将被 HTML 编码,引号写成> & quot;(没有空格)
我发现正确输出引号的唯一方法是用反斜杠 \ 转义它们,但我似乎找不到帮助者来做到这一点。
有解决办法吗?我做错什么了吗?
目前,我发现了一个受 Filipe Borges 建议启发的解决方法
@Html.Raw(Html.Encode(Model.Libelle).Replace(""", "\\\""))
这很丑陋,但至少它解决了问题,我感谢任何人提出更好的解决方案。
【问题讨论】: