前台代碼:
<asp:HiddenField runat="server" ID="descing" /> <asp:HiddenField runat="server" ID="dt" /> <asp:Button runat="server" ID="sortbtn" onclick="lvVehicle_PagePropertiesChanged" style="display:none;" /><td class="Tcenter" width=85 onclick="sort(3)">錄入日期</td>jquery code:function sort(fid) { if ($("#sortfield").val() == fid) { if ($("#descing").val() == "asc") { $("#descing").val("desc"); } else { $("#descing").val("asc"); } } else { $("#sortfield").val(fid); $("#descing").val("asc"); } document.getElementById("sortbtn").click(); return false;}
後台代碼:
protected void lvVehicle_PagePropertiesChanged(object sender, EventArgs e) { //此處為分頁,資料重新綁定 }
資料來源綁定:lvVehicle.DataSource = bllcehicl.GetAllVehiclelist("","",Convert.ToInt32(checkInt(sortfield.Value, 0)), descing.Value);//此處傳入排序的標記DAL層編寫:public IQueryable GetAllVehiclelist("", int SortField, string Descing){ xxxx xx=new xxxx(); var query=xx.xxx.where(.....); switch (SortField) { //預設 提交日期 case 0: default: query = query.OrderByDescending(qu => qu.subDate); break; case 1: //車牌號 if (("desc").Equals(Descing)) { query = query.OrderBy(qu => qu.Base_tabletNumber); } else { query = query.OrderByDescending(qu => qu.Base_tabletNumber); } break; case 2: //分類 if (("desc").Equals(Descing)) { query = query.OrderBy(qu => qu.InfType); } else { query = query.OrderByDescending(qu => qu.InfType); } break; //....... }return query;}
總結: