Estoy experimentando un poco con varias cuadrículas en asp.net mvc. Microsoft también tiene una grilla en la presentación de mvc 3, así que pensé en probarla.asp.net mvc 3 webgrid sorting remains? Sortdir = ASC
La funcionalidad básica es bastante fácil de implementar, pero cuando se trata de ordenar, tengo algunos problemas. La cuadrícula maneja su clasificación por url. En la url que tiene la columna de ordenación y la dirección de ordenación de la siguiente manera:? sortdir = ASC & tipo = ABONNEMENT
Ahora se puede esperar que después de haber realizado la clasificación en la columna determinada, la cadena de consulta sortdir en esa columna cambiaría a? sortdir = DESC pero no es así. Se queda? Sortdir = ASC. ¿Alguien sabe si esto es un error o una característica, y cómo resolver esto?
Otra cosa muy molesta: si hago clic en un enlace de ordenación, se realiza una solicitud de httpget. Debido a esto pierdo mi modelo. Debido a que existe la posibilidad en la página de filtrar la cuadrícula (funcionalidad de búsqueda), quiero preservar esto en el modelo. Sería una solución de limpieza mucho más fácil & en mi opinión para poner estos datos en el estado del modelo, que para almacenarlo en el estado de la sesión. ¿Es posible cambiar el comportamiento de los enlaces de encabezado de clasificación para que se ejecute una publicación http?
¿Alguna idea o idea al respecto? Tnx por la ayuda.
greetz, Koen
El código de la vista es el siguiente:
<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>
Me gustaría saber si hay una forma de forzar que una red web publique en lugar de obtener para ordenar y paginar . – Grubsnik
Si su tabla no es demasiado grande, ¿podría ordenar en el cliente usando jquery.tablesorter? –