我在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