相关疑难解决方法(0)

如何使用Razor将未编码的Json写入我的View?

我正在尝试使用Razor将对象作为JSON编写到我的Asp.Net MVC View中,如下所示:

<script type="text/javascript">
  var potentialAttendees = @Json.Encode(Model.PotentialAttendees);
</script>
Run Code Online (Sandbox Code Playgroud)

问题是在输出中JSON被编码,我的浏览器不喜欢它.例如:

<script type="text/javascript">
    var potentialAttendees = [{&quot;Name&quot;:&quot;Samuel Jack&quot;},];
</script>
Run Code Online (Sandbox Code Playgroud)

如何让Razor发出未编码的JSON?

asp.net-mvc json razor

147
推荐指数
3
解决办法
7万
查看次数

20
推荐指数
1
解决办法
7216
查看次数

JSON将JsonResult转换为javascript字符串而不编码引号

我需要使用转换Microsoft.AspNet.Mvc.Controller.JsonResult为字符串ASP.NET Core

这是我在ASP.NET MVC中的代码

public async Task<string> GetJsonData()
{
    //...
    var result = GetMyComplexObject();

    //using Newtonsoft.Json.JsonConvert method
    var jsonString = JsonConvert.SerializeObject(Json(result));
    return jsonString;
}

public async Task<IActionResult> Index()
{
    var myViewModel= new MyViewModel();
    myViewModel.JsonString = GetJsonData();
    return View(myViewModel);
}

public class MyViewModel
{
    //...
    public string JsonString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的cshtml中

var dataSet = {@(Model.JsonString))};
Run Code Online (Sandbox Code Playgroud)

但是,在生成的源中而不是引用的字段中,它们是html编码的,例如 &quot;field1&quot;

而不是运行字符串替换是没有更简洁的方法来转换JsonResultstring

c# json.net asp.net-core-mvc asp.net-core

5
推荐指数
1
解决办法
1万
查看次数