aspx页面中点击表格的字段名实现升序降序排列的一些思路

为满足项目需要,在对查询结果需要点击对应的字段进行升降序可切换排序,这里对实现的过程整理一下思路:

实现效果大致如图所示:

aspx页面中点击表格的字段名实现升序降序排列的一些思路

表头“年龄”字段需要添加<a>标签,实现onclick事件:

<a onclick="GetUrl(1)" style="cursor:pointer">年龄<%if(strOrder=="1"){%><%=sortStr=="asc"?"↑":"↓"%><%}%><a>

url链接事件,其中用到对cookie的读写操作

<script type="text/javascript">
//排序url链接事件
function GetUrl(order)
{
  var oldSort=getCookie("sort");
  setCookie("sort",oldSort=="asc"?"desc":"asc");
  location.href='***.aspx?order='+order+其他分页等参数;
}
</script>

后台定义一个 protected string sortStr 用来保存排序类型,定义一个 protected string strOrder 用来保存排序字段。

获取排序的字段:strOrder=Request.QueryString["order"].Trim();

获取排序类型:

sortStr=GetSort(strOrder);
public static string GetSort(string strOrder)
{
var sortStr=string.IsNullOrWhiteSpace(GetCookie("sort"))?"asc":GetCookie("sort");
if(!string.IsNullOrWhiteSpace(strOrder))
 return sortStr;
sortStr="asc";
AddCookie("sort","asc");
return sortStr;
}

实现排序:

switch (strOrder)
            {
                case "1":
                    sql += "order by age " + sortStr;
                    break;
                default:
                    sql += "";
                    break;
            }

本方法只是提供思路,具体还得根据项目进行使用。如有不足之处欢迎留言探讨。

欢迎分享,(木庄网络博客交流QQ群:562366239

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论