阻止EntityFramework返回json字符串的转义引用

时间:2014-08-26 15:34:01

标签: c# asp.net-mvc json entity-framework

我在.cshtml文件中通过实体框架返回一个字符串 代码如下所示:

var mapGeoJson = JSON.parse(@Model.RouteMapJSON);

当它出现在浏览器中时,json中的引号会像这样转义:

JSON.parse({"type": "FeatureCollection", . . .

但我需要它才是真正的引用,而不是转义的值。

如何阻止EF转义引号?

这是该字段的EF代码第一个定义:

 [DataType(DataType.MultilineText)]
 public string RouteMapJSON { get; set; }

我还尝试在返回之后替换引号(包括C#和JS),但这些引号也不起作用。

2 个答案:

答案 0 :(得分:3)

Razor正在这样做,而不是EF。尝试使用@Html.Raw()

var mapGeoJson = @Html.Raw(Model.RouteMapJSON);

答案 1 :(得分:1)

这不是实体框架。要在视图中获取未转义的文本,您必须使用MvcHtmlString。

var mapGeoJson = JSON.parse(@(new MvcHtmlString(Model.RouteMapJSON));

这应该给你想要的结果。