ASP.NET MVC 3控制器.Json方法序列化未查看DataMember名称属性

ASP.NET MVC 3控制器.Json方法序列化未查看DataMember名称属性,第1张

ASP.NET MVC 3控制器.Json方法序列化未查看DataMember名称属性

您从控制器 *** 作(使用)返回的JsonResult *** 作在

returnJson(...)
内部依赖于JavascriptSerializer类。此类不考虑
DataMember
模型上的任何属性。

您可以编写一个自定义ActionResult,该

System.Runtime.Serialization.Json
名称在名称空间中使用序列化程序。

例如:

public class MyJsonResult : JsonResult{    public override void ExecuteResult(ControllerContext context)    {        var response = context.HttpContext.Response;        if (!string.IsNullOrEmpty(ContentType))        { response.ContentType = ContentType;        }        else        { response.ContentType = "application/json";        }        if (ContentEncoding != null)        { response.ContentEncoding = this.ContentEncoding;        }        if (Data != null)        { var serializer = new DataContractJsonSerializer(Data.GetType()); serializer.WriteObject(response.OutputStream, Data);        }    }}

然后在您的控制器 *** 作中:

public ActionResult Foo(){    var model = ...    return new MyJsonResult { Data = model };}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4887846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存