asp.net-mvc - net - select asp-for asp-items
A WebGrid o no a WebGrid... ¿cuál es la respuesta? (7)
Estoy leyendo y escuchando algunos puntos de dolor y me pregunto si debería seguir esa ruta. Sin mencionar que no puedo encontrar ninguna documentación definitiva (de Microsoft). Si dices que no debería usarlo, ¿qué ruta sugerirías? Estoy tratando de hacer que un nuevo sitio despegue, pero quiero hacerlo bien la primera vez.
Esto puede ser más reciente que la publicación, pero esta es la documentación oficial http://msdn.microsoft.com/en-us/library/system.web.helpers.webgrid(v=vs.99).aspx
Miré tablas de HTML puro, mvccontrob grid, jqgrid y webgrid. Con solo una experiencia limitada con los tres aquí es lo que encontré:
jQgrid es el más poderoso y soporta temas de IU de jquery. Pude implementar la edición en línea, la clasificación, el filtrado y la validación simple del lado del servidor. Me tomó tres días averiguarlo, pero eso no es tan malo considerando todas las características que implementé. Pude descubrirlo buscando en Internet y encontrando ejemplos, así que hay muchos recursos disponibles para ello. Sin embargo, implica una gran cantidad de JavaScript. Lo que menos me gustó fue la función de búsqueda. Tiene demasiadas opciones activadas de forma predeterminada y tengo problemas para desactivar las que no quiero usar.
La cuadrícula de Mvccontrib fue muy fácil de poner en marcha, pero no se admite la edición en línea. Además, leí esta publicación, que para mí suena como que no será soportada por mucho tiempo: mvccrontrib
Bummer, era una grilla muy agradable y fácil de usar.
Encontré que webgrid es fácil de configurar pero tampoco tiene edición en línea. Su paginación predeterminada supongo que también es muy ineficiente, siempre devuelve todas las filas independientemente del # registro por página.
Si necesita edición en línea, jqgrid es definitivamente el camino a seguir.
Si no, hubiera dicho Mvccontrib si no hubiera sido archivado. Eso me deja con tablas html puras o webgrid, y me gustan más las tablas html puras, como recomendó Naveen. Pude implementar la clasificación, la paginación y el filtrado con bastante facilidad.
Voy a seguir con jqgrid ahora que tengo un ejemplo práctico y miraré a Jquery UI Grid cuando esté en producción.
No he encontrado ninguna documentación oficial, solo tutoriales y muestras. Pero encontré esta página que enumera todos los métodos disponibles en la Referencia de API de Web Grid Razor Helpers
También lista la API para otros métodos de ayuda de Razor.
No puedo decirle si debe usar o no el asistente de WebGrid porque eso sería subjetivo y, especialmente, ya que acaba de hablar sobre los puntos de dolor en su pregunta sin ningún detalle específico. Lo que podría hacer es ofrecerte algunas buenas alternativas:
Tomado verbatim del enlace de referencia a continuación:
Para mostrar un ejemplo simple de WebGrid, he configurado una acción MVC de ASP.NET que simplemente pasa un IEnumerable a la vista. Estoy utilizando el motor de vista de Razor para la mayor parte de este artículo, pero más adelante también analizaré cómo se puede usar el motor de vista de WebForms. Mi clase ProductController tiene la siguiente acción:
public ActionResult List()
{
IEnumerable<Product> model = _productService.GetProducts();
return View(model);
}
La vista de lista incluye el siguiente código Razor, que representa la cuadrícula que se muestra en la Figura 1:
@model IEnumerable<MsdnMvcWebGrid.Domain.Product>
@{ ViewBag.Title = "Basic Web Grid"; }
<h2>Basic Web Grid</h2>
<div>
@{ var grid = new WebGrid(Model, defaultSort:"Name"); }
@grid.GetHtml()
</div>
Referencia: Esta página muestra algunos ejemplos más de WebGrid http://msdn.microsoft.com/en-us/magazine/hh288075.aspx
WebGrid parece una herramienta de productividad, un buen artículo sobre su uso en la edición de julio de MSDN http://msdn.microsoft.com/en-us/magazine/hh288075.aspx
Yo diría que debería elegir utilizar WebGrid si está buscando mostrar datos rápida y fácilmente y no tener que depender de ninguna biblioteca externa. Sin embargo, si está buscando una cuadrícula con todas las funciones, no iría con WebGrid en este momento. Existen dificultades para aplicar estilos y hacer aspectos más avanzados que están disponibles en otras bibliotecas de cuadrícula web populares.
En cuanto a mi opinión sobre lo que debe usar: si WebGrid no satisface sus necesidades, consulte jqGrid . Es un paquete muy popular y funciona sorprendentemente bien y es bastante fácil de configurar y ejecutar.
Si desea más documentación en WebGrid , consulte el sitio de tutorial ASP.NET MVC 3 de Microsoft.