我在.cshtml文件中通过实体框架返回一个字符串 代码如下所示:
var mapGeoJson = JSON.parse(@Model.RouteMapJSON);
当它出现在浏览器中时,json中的引号会像这样转义:
JSON.parse({"type": "FeatureCollection", . . .
但我需要它才是真正的引用,而不是转义的值。
如何阻止EF转义引号?
这是该字段的EF代码第一个定义:
[DataType(DataType.MultilineText)]
public string RouteMapJSON { get; set; }
我还尝试在返回之后替换引号(包括C#和JS),但这些引号也不起作用。
答案 0 :(得分:3)
Razor正在这样做,而不是EF。尝试使用@Html.Raw()
:
var mapGeoJson = @Html.Raw(Model.RouteMapJSON);
答案 1 :(得分:1)
这不是实体框架。要在视图中获取未转义的文本,您必须使用MvcHtmlString。
var mapGeoJson = JSON.parse(@(new MvcHtmlString(Model.RouteMapJSON));
这应该给你想要的结果。