加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何将JsonResult对象作为字符串获取,以便我可以修改

发布时间:2020-12-15 22:25:08 所属栏目:asp.Net 来源:网络整理
导读:我正在使用FlexiGrid jQuery插件,我需要从我的MVC应用程序中获取一个 JSON对象,如果FlexiGrid仅使用了对象,我需要添加一些项目,以便它与FlexiGrid一起正常工作. 所以这是我的控制器代码的一部分: If Request.QueryString("json") IsNot Nothing Then Dim da
我正在使用FlexiGrid jQuery插件,我需要从我的MVC应用程序中获取一个 JSON对象,如果FlexiGrid仅使用了对象,我需要添加一些项目,以便它与FlexiGrid一起正常工作.

所以这是我的控制器代码的一部分:

If Request.QueryString("json") IsNot Nothing Then
    Dim data As New StringBuilder()
    data.Append("page: " & pageIndex & "," & vbCrLf)
    data.Append("total: " & ViewData.TotalCount & "," & vbCrLf)
    data.Append("rows: ")
    data.Append(Json(objCustomerList))

    Return Content(data.ToString())
End If

不幸的是,在上面的代码中,Json(objCustomerList)返回’System.Web.MVV.JsonResult’而不是所需的JSON字符串数据.我也试过Json(objCustomerList).ToString()只是为了看看会发生什么,再次发生同样的事情.

有任何想法吗?

解决方法

ASP.NET MVC中的Json()方法只是通过JsonResult类使用 JavaScriptSerializer类.如果您想使用JSON将objCustomerList对象序列化为字符串,则可以自己使用它.

我的建议是采取略有不同的方法.

>创建一个模型,表示您尝试创建的JavaScript对象的.NET等效项.可能是具有Page,Total,Rows和CustomerList属性的FlexiGridModel对象.
>然后,当您将FlexiGridModel传递给Json()时,它就可以正常工作,无需使用StringBuilder构建JSON字符串.

如果您只想让代码工作,那么有一个override on JavaScriptSerializer.Serialize()将对象序列化,StringBuilder将结果附加到.这应该是你正在寻找的.

一些相关链接:

> JavaScriptSerializer example
> ASP.NET MVC JsonResult source
> Codeproject: ASP.NET MVC Flexigrid sample

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读