Asp.net-Mvc-3
當兩個網格在同一頁面上時排序
在我的頁面上,我有兩個 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");