您的位置:首页 > Web前端 > JavaScript

国外某牛人的JsonModelBinder 实现 MVC 3.0

2017-02-14 22:12 274 查看
public class JsonModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{

if (!IsJSONRequest(controllerContext))
{
return base.BindModel(controllerContext, bindingContext);
}

// Get the JSON data that's been posted
var request = controllerContext.HttpContext.Request;
var jsonStringData = new StreamReader(request.InputStream).ReadToEnd();
return new JavaScriptSerializer().Deserialize(jsonStringData, bindingContext.ModelMetadata.ModelType);

}

private static bool IsJSONRequest(ControllerContext controllerContext)
{
var contentType = controllerContext.HttpContext.Request.ContentType;
return contentType.Contains("FTchinaMVC/json");
}
}


protected void Application_Start()
{
ModelBinders.Binders.DefaultBinder = new JsonModelBinder();
RegisterRoutes(RouteTable.Routes);
}
AreaRegistration.RegisterAllAreas();

RegisterGlobalFilters(GlobalFilters.Filters);


http://www.cnblogs.com/zihuxinyu/articles/extjs_jsonmodelbinder_mvc3_ajax.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: