设为首页 - 加入收藏 定西香江堵经 (http://www.0932zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2015 阿里 什么 平台
当前位置: 首页 > 香江堵经 > 传媒 > 正文

Json传到服务端序列化json参数的Filter类

发布时间:2018-09-06 06:20 所属栏目:[传媒] 来源:香江堵经
导读:在网上找了半天关于如何从前端json传过来的数据,到后台获

在网上找了半天关于如何从前端json传过来的数据,到后台获取。

主要思路如下,通过JsonParamFilter类来序列化从前端获取的数据。

JsonParamFilter.cs:

代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization; // 需要引用 System.Runtime.Serialization
using System.Runtime.Serialization.Json; // 需要引用 System.ServiceModel.Web
using System.Web;
using System.Web.Mvc;


///
///使Action Method可以接收序列化后的JSON对象并转换为强类型参数
///

public class JsonParamFilter : ActionFilterAttribute
{
///
///类型名称
///

public Type TargetType { get; set; }

///
///类型对应的参数名称
///

public string Param { get; set; }

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if ((filterContext.HttpContext.Request.ContentType ?? string.Empty).Contains("application/json"))
{
try
{
object o = new DataContractJsonSerializer(TargetType).ReadObject(filterContext.HttpContext.Request.InputStream);
filterContext.ActionParameters[Param] = o;

}
catch { }
}
}
}

Action Method里的使用方法:
??????? [JsonParamFilter(TargetType = typeof(EmployeeInfo), Param = "employeeInfo")]
??????? public ActionResult TestJson(EmployeeInfo employeeInfo)
??????? {
??????????? return Json(employeeInfo);
??????? }

客户端调用:
??
?
  Json传到服务端序列化json参数的Filter类jquery-json 插件下载:jquery.json-2.2.js

  来源:博客园

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章