Asp.net-Mvc-3

當兩個網格在同一頁面上時排序

  • October 11, 2011

在我的頁面上,我有兩個 webGrid。當我點擊一個以對該列進行排序時,兩個網格都在該列上排序。對只有一個的列進行排序,根本不排序。

我注意到排序工作通過使標題成為同一頁面的連結,在查詢字元串中包含一列和一個方向。這解釋了兩個網格都受到影響。我想知道 webGrid 是否有一些功能可以解決我的問題,或者我應該自己解決它。

我計劃“自己修復”的方式是首先通過設置 htmlAttributes 將 id 屬性添加到表標籤。然後我將使用 jQuery 為每個 webgrid 找到這個 id 並將該 id 合併到連結參數中。然後在載入帶有網格的頁面時,我將根據這些參數強制設置要排序的列。

在我看來,webGrid 並非設計為與另一個 webGrid 放在一個頁面上。但是,我覺得在我的情況下這是需要的。我更喜歡使用一些標準方式(內置或只是其他人使用的)。

所以問題是,最好的方法是什麼?如果沒有最好的方法,我的方法是好方法嗎(我忘記了什麼)?

提前致謝。

我認為您需要設置以下屬性:

string fieldNamePrefix = null 
//The value which prefixes the default querystring fields

string pageFieldName = null 
//A value that replaces the default querystring page field 


var grid1 = new WebGrid(canPage: true,  canSort: true, ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1");

var grid2 = new WebGrid(canPage: true,  canSort: true, ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2");

引用自:https://stackoverflow.com/questions/5349979