转义@Model解析为字符串

时间:2015-08-03 23:42:49

标签: c# jquery asp.net-mvc

我有一个像这样的字符串:I don't like fish。它在我的模型中,我试图将它读取到我的形式中的元素,如下所示:

if ("@Model.Text" != "") {
    $('#inputMethod').val(@Model.Text);
}

问题是浏览器抛出错误Uncaught SyntaxError: missing ) after argument list 如果我将代码更改为:

if ("@Model.Text" != "") {
    $('#inputMethod').val(String("@Model.Text"));
}

它呈现文本,但它是这样的:I don't like fish。我想要使​​用撇号正常格式化文本。如何让javascript识别最后一个)

1 个答案:

答案 0 :(得分:3)

如果Model.Text"apple",那么你就拥有了这个:

$('#inputMethod').val(@Model.Text);

渲染为:

$('#inputMethod').val(apple);

没有引号。你可以写这个:

$('#inputMethod').val(@Html.Raw(JsonConvert.SerializeObject(Model.Text)));

渲染:

$('#inputMethod').val("apple");

即使您的文字包含奇怪的符号,引号等,此方法仍然有效。