ext 在 .net 中实现 更易读的filter

ext 提供的表格让我们可以方便的对数据进行绑定,显示,修改,查询。为我们带来了方便,但ext貌似偏PHP了一点,对于查询功能,在Grid中主要通过Filter来实现,Ext的例子(grid-filtering)中为我们提供了。

 

查看这个例子的代码,我们可以很容易为我们的grid绑定一个filter,但是通过调试,我们在服务器端发现ext会传入请求的URL为是这个样子 “filters[0][field]=dataIndex&filters[0][data][param1]=param&filters[0][data][param2]=param... ” 如果服务器商采用PHP的话,会很好的解释,并提取参数及参数值。可以对于.net来说相对就麻烦些了,当然可以考虑过使用正则表达式,但貌似也走了下弯路。

 

既然URL是ext生成的,如果直接在生成的时候就让其生成我们理想的格式就可以解决这个问题,现在就开始动手吧。

 

一:

找到GridFilters.js文件,更改“buildQuery”方法。这个方法便是用来生成查询URL的。

将其改成如下形势:

 

 

 

完成了第一步,在跟踪后台代码就会发现URL请求已经变成“xxxx[lt]=xxx&xxxx[gt]=xxx&yyyy[eq]=yyy”, 这样我们就能非常方便的取出来了;

但是还没有完,如果只到这里,你会发现,URL请求中的上一次请求会继续保留,这样就会影响我们返回结果集与界面要求不一致,所以我们进行第二步;

二:

还是这个文件,更改方法“cleanParams”,它的目的在于每次清空上一次组装的参数,之所以会出现第一步中所说的上一次请求会继续保留也正是因为我们没有清空上一次的参数;原始的文件所清除的是之前的规则,所以这里我们要改正则表达式为“^[//w]+//[[gt|lt|eq]+//]$”,完整方法如下;

OK,这样每次请求的URL都会是新鲜的了,服务器端就畅快的享用吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值