我必须将Javascript变量设置为等于我的MVC模型中的属性。
我这样做是为了检测是否对文本框进行了任何更改,这是设置"原始"值。
我的Javascript代码如下所示:
var initVal = '@Model.ReferralHistoryDetail[1].ReferralComments';
我收到一个错误,我认为这是由于在评论中包含回车符。
Uncaught SyntaxError: Unexpected token ILLEGAL
在这种情况下呈现的HTML是将结束引号放在换行符上,这就是开发人员控制台中显示的错误。
例如,呈现的HTML是:
var initVal = 'blah blah blah
';
处理此问题的正确方法是什么?
答案 0 :(得分:4)
您希望使用JavaScriptStringEncode命令以兼容javascript的方式对字符串进行编码。
var initVal = '@HttpUtility.JavaScriptStringEncode(Model.ReferralHistoryDetail[1].ReferralComments)';
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:-1)
您无法像这样从JavaScript访问模型属性,JavaScript无法对您的模型执行任何操作。
在页面上创建变量
@ {var value = @ Model.ReferralHistoryDetail [1] .ReferralComments;
然后在javascript中访问值,虽然不确定为什么你不直接在页面上呈现为什么你需要javascript,除非我遗漏了什么