我在asp.net mvc中嘗試了幾個網格。 微軟有一個網格太瞭解mvc 3的預發佈,所以我想我會嘗試一個。asp.net mvc 3 webgrid排序仍然是?sortdir = ASC
基本功能很容易實現,但在排序時,我遇到了一些問題。 網格通過url處理它的排序。在URL中你有排序列,並以下列方式排序方向: sortdir = ASC &排序= ABONNEMENT
現在你會期望你已經完成了後上的某些列進行排序時,sortdir查詢字符串在那一欄將改爲?sortdir = DESC 但它沒有。它保持?sortdir = ASC。 有誰知道這是一個錯誤還是一個功能,以及如何解決這個問題?
另一個非常煩人的事情︰如果我點擊一個排序鏈接,一個httpget請求完成。 因此,我放棄了我的模型。因爲網頁上有可能過濾網格(搜索功能),所以我想在模型中保留這一點。 在我看來,將這些數據置於模型狀態比將它存儲在會話狀態更簡單。 是否可以更改排序標題鏈接的行爲,以便執行http post?
對此的任何想法或想法? Tnx的幫助。
格爾茨,公園
視圖的代碼如下:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<table>
<tr>
<td>
<h1 class="normal">List of subscription</h1>
</td>
<td>
</td>
</tr>
</table>
<% using (Html.BeginForm("List", "Subscription", FormMethod.Post)) { %>
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td>
Search By
</td>
<td>
<%: Html.DropDownListFor(m => m.SearchByColumn, Ogone.FrontEnd.Web.Controllers.SubscriptionController.SubscriptionSearchList) %>
</td>
<td>
<%: Html.TextBoxFor(m => m.SearchByText) %>
</td>
<td>
<input name="button" type="submit" value="Search" />
</td>
</tr>
</table>
<div>
<%
var grid = new System.Web.Helpers.WebGrid(Model.SubscriptionList,
columnNames: new List<string>(){"Title"},
canPage:false);
%>
<%= grid.GetHtml(columns: grid.Columns(
grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ID })),
grid.Column("ID"),
grid.Column("ISP"),
grid.Column("ABONNEMENT"),
grid.Column("MODE"),
grid.Column("SETUPFEE"),
grid.Column("MONTHLYFEE"))
) %>
</div>
非常想知道是否有辦法強制webgrid發佈而不是獲得排序和分頁。 – Grubsnik 2011-02-22 14:23:14
如果你的表不是太大,也許你可以使用jquery.tablesorter在客戶端排序? – 2011-05-12 16:42:21