程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET MVC如何将JSON对象从View传递到Controller作为参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决ASP.NET MVC如何将JSON对象从View传递到Controller作为参数?

开发过程中遇到ASP.NET MVC如何将JSON对象从View传递到Controller作为参数的问题如何解决?下面主要结合日常开发的经验,给出你关于ASP.NET MVC如何将JSON对象从View传递到Controller作为参数的解决方法建议,希望对你解决ASP.NET MVC如何将JSON对象从View传递到Controller作为参数有所启发或帮助;

随着MVC 3的到来,不再需要这种方法,因为它将自动处理-http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3 -prevIEw-1.aspx

您可以使用以下ObjectFilter:

    public class ObjectFilter : ActionFilterattribute {

    public String Param { get; set; }
    public Type Roottype { get; set; }

    public overrIDe voID OnActionExecuTing(ActionExecuTingContext filterContext) {
        if ((filterContext.httpContext.@R_874_10613@est.ContentType ?? String.Empty).Contains("application/Json")) {
            object o =
            new DataContractJsonserializer(RoottypE).Readobject(filterContext.httpContext.@R_874_10613@est.inputStream);
            filterContext.ActionParameters[Param] = o;
        }

    }
}

然后可以将其应用于您的控制器方法,如下所示:

    [ObjectFilter(Param = "postdata", Roottype = typeof(ObjectToserializeto))]
    public JsonResult ControllerMethod(ObjectToserializeto postdata) { ... }

因此,基本上,如果帖子的内容类型是“ application / Json”,则它将生效,并将值映射到您指定的类型的对象。

解决方法

我有一个复杂的JSON对象,该对象没有任何问题即可发送到View(如下所示),但是当通过AJAX调用将数据序列化回.NET对象时,我无法弄清楚如何将该数据序列化回.NET对象。各个部分的详细信息如下。

   var ObjectA = {
        "Name": 1,"StarTing": new Date(1221644506800),"Timeline": [
            {
                "StartTime": new Date(1221644506800),"GoesFor": 200

            },{
                "StartTime": new Date(1221644506800),"GoesFor": 100

            }

        ]
    };

我不确定如何将该对象传递给Controller方法,下面有此方法,其中Timelines对象使用Properties镜像上述JS对象。

public JsonResult Save(Timelines person)

我正在使用的jQuery是:

        var encoded = $.toJSON(SessionschedulE);

        $.ajax({
            url: "/Timeline/Save",type: "POST",dataType: 'json',data: encoded,contentType: "application/json; charset=utf-8",beforeSend: function() { $("#saveStatus").html("Saving").show(); },success: function(result) {
                alert(result.Result);
                $("#saveStatus").html(result.Result).show();
            }
        });

我还看到了使用’JsonFilter’手动反序列化JSON的参,但是我想知道是否有一种方法可以通过ASP.NET
MVC来实现。或以这种方式传递数据的最佳实践是什么?

大佬总结

以上是大佬教程为你收集整理的ASP.NET MVC如何将JSON对象从View传递到Controller作为参数全部内容,希望文章能够帮你解决ASP.NET MVC如何将JSON对象从View传递到Controller作为参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。