在整个系统范围内替换asp.net 3.1 json实现

 收藏

最近,我决定从asp.net 2.2转到asp.net 3.1,并没有想到所有重大更改。我的应用程序几乎每个部分都崩溃了,因为大多数部分都依赖JSON。

为了防止将来出现与JSON相关的问题,可以创建一个接口, 模仿当前的Json实现并覆盖默认行为。

我的大多数代码都依赖于以下两种方法:

Json.Serialize() // used in my razor 
Json() // returns an IActionResult

用例:剃刀页面

<script>
   var myModel = @Html.Raw(Json.Serialize(Model))
</script>

用例:控制器:

public async Task<IActionResult> AjaxGetRoleDetails(int id)
{
        return Json(await GetUserRoles(id));
}

当分别调用上述方法时,这是我想要的方法。

JsonConvert.SerializeObject() // override Json.Serialize
Content(JsonConvert.SerializeObject(), new MediaTypeHeaderValue("application/json")) // override Json()

如何覆盖系统实现,并调用我自己的实现 目前,以后在asp.net选择Json实现时,可以轻松地恢复到系统实现。

回复