asp.net-mvc – 将ExtJs 4网格过滤器信息绑定到asp.net mvc动作
发布时间:2020-12-16 03:26:02 所属栏目:asp.Net 来源:网络整理
导读:将ExtJs 4网格过滤器信息绑定到asp.net mvc动作参数的最佳方法是什么? 我写了这些助手类: public class ExtFilterInfo{ public string Field { get; set; } public ExtFilterData Data { get; set; }}public class ExtFilterData{ public string Type { ge
将ExtJs 4网格过滤器信息绑定到asp.net mvc动作参数的最佳方法是什么?
我写了这些助手类: public class ExtFilterInfo { public string Field { get; set; } public ExtFilterData Data { get; set; } } public class ExtFilterData { public string Type { get; set; } public string Value { get; set; } } 这是行动: public ActionResult Grid(int start,int limit,string sort,ExtFilterInfo[] filter) QueryString看起来像这样: _dc:1306799668564 filter%5B0%5D%5Bfield%5D:Nome filter%5B0%5D%5Bdata%5D%5Btype%5D:string filter%5B0%5D%5Bdata%5D%5Bvalue%5D:nu page:1 start:0 limit:20 解决方法
自定义模型绑定器看起来可以适合账单:
public class ExtFilterInfoModelBinder : DefaultModelBinder { public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { var filter = (ExtFilterInfo)base.BindModel(controllerContext,bindingContext); var field = bindingContext.ValueProvider.GetValue(bindingContext.ModelName + "[field]"); if (field != null) { filter.Field = field.AttemptedValue; } var type = bindingContext.ValueProvider.GetValue(bindingContext.ModelName + "[data][type]"); if (type != null) { if (filter.Data == null) { filter.Data = new ExtFilterData(); } filter.Data.Type = type.AttemptedValue; } var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName + "[data][value]"); if (value != null) { if (filter.Data == null) { filter.Data = new ExtFilterData(); } filter.Data.Value = value.AttemptedValue; } return filter; } } 可以在Application_Start中注册: ModelBinders.Binders.Add(typeof(ExtFilterInfo),new ExtFilterInfoModelBinder()); 现在应该正确绑定控制器操作作为参数的过滤器集合. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 如何在Asp.Net Mvc 3中显示自定义错误页面
- asp.net core 2.0 spa角谷歌地图
- asp.net-mvc – 通知面板类似于stackoverflow的
- asp.net – Web.config允许特定用户的位置访问
- ASP.NET 5 / MVC 6数据库优先 – 在应用程序配置文件中找不
- NHibernate中对同一个对象的Lazyload要设置一致
- 如何将TextBox双向绑定到ASP.NET中的代码隐藏属性?
- asp.net-mvc – 如何允许用户在ASP.NET MVC中创建永久链接?
- asp.net-mvc – 将默认日期格式应用于ASP.NET MVC 3应用程序
- asp.net-mvc – 将依赖项注入自定义ModelBinder
推荐文章
站长推荐
- [.Net码农]ASP.NET MVC 之 View 测试
- asp.net-mvc-4 – 简单会员:用户的上次登录日期
- asp.net – Sitecore:Sitecore.Web.WebUtil.Red
- asp.net – 如何在SSRS公式字段中按两个日期计算
- ASP.NET 使用AJAX
- asp.net-mvc – 检测到潜在的危险Request.Form值
- ASP.Net WCF服务的Thread.CurrentPrincipal被联邦
- 如何在放大高图时启用y轴平移?
- asp.net-mvc-4 – Autofac和ASP .Net MVC 4 Web
- asp.net-mvc-3 – 命名空间’Sitecore’中不存在
热点阅读