Я возвращаю строку через сущность framework в файле.cshtml.
Код выглядит так:
var mapGeoJson = JSON.parse(@Model.RouteMapJSON);
Когда он появляется в браузере, у него есть кавычки в json, которые были экранированы следующим образом:
JSON.parse({"type": "FeatureCollection", . . .
Но мне нужно, чтобы это были реальные кавычки, а не экранированные значения.
Как предотвратить предотвращение утечки EF из котировок?
Вот мое первое определение кода EF для поля:
[DataType(DataType.MultilineText)]
public string RouteMapJSON { get; set; }
Я также попытался заменить кавычки (как на С#, так и на JS) после того, как они были возвращены, и что они не работают.
Бритва делает это, а не EF. Попробуйте использовать @Html.Raw()
:
var mapGeoJson = @Html.Raw(Model.RouteMapJSON);
Это не платформа Entity Framework. Чтобы получить неэкранированный текст в представлении, вы должны использовать MvcHtmlString.
var mapGeoJson = JSON.parse(@(new MvcHtmlString(Model.RouteMapJSON));
Это должно дать желаемые результаты.