@ Html.Raw - 换行符分配给JSON对象时丢失

我有以下代码:@ Html.Raw - 换行符分配给JSON对象时丢失

data: { 

comment: {

'id': @Model.Id,

'description': "@Html.Raw(Model.Description)"

},

},

但我得到以下错误控制台:

Uncaught SyntaxError: Invalid or unexpected token 

的误差源在突出铬开发工具显示如下:

data: { 

comment: {

'id': 1,

'description': "<p>Test</p>

<p>Testing</p>

",

}

},

错误是在说明属性。我认为它没有\n正在增加此属性的值,这是抛出错误。

我该如何解决?

回答:

这是否适合您?

@Html.Raw(HttpUtility.HtmlEncode(Model.Description).Replace("\n", "<br/>")) 

回答:

它看起来就像你正在试图通过一个MVC视图生成JSON输出。你可能会成功,但你也会使它比需要的复杂得多,而且做错了的风险很大。你刚刚经历过这种风险!

您可能会遇到的下一个问题是,根据JSON标准,所有字段必须用双引号包围,而不是单引号。谁知道你接下来会遇到什么。

更好的是使用MVC的力量,并让它为您呈现JSON输出。你根本不需要MVC Views来获取JSON输出,只需要一些编写良好的Controller代码,而MVC会将它变成适合你的JSON。

这是你的控制器的操作方法将需要什么样子:

public ActionResult MyAction(....) 

{

var modelObj = .... // data retrieval code here

var resultObj = new

{

data = new

{

comment = new

{

id = modelObj.Id,

description = modelObj.Description

}

}

};

return Json(resultObj);

}

以上是 @ Html.Raw - 换行符分配给JSON对象时丢失 的全部内容, 来源链接: utcz.com/qa/257511.html

回到顶部