Quiero incluir una lista desplegable de años en todas las páginas de mi sitio web. Supuse que era un buen lugar para poner esta lógica en la página de diseño (_layout.cshtml). Si un usuario cambia el año, quiero cambiar también la sesión de mi año (ModelBinder). Esto fue muy fácil de hacer con los formularios web ASP.NET, pero parece casi imposible de hacer en MVC. Intenté una vista parcial sin suerte. ¿Alguien tiene ideas?Página de diseño de MVC 3, plantilla de maquinilla de afeitar y lista desplegable
Respuesta
Como es habitual se podría empezar por definir una vista de modelo:
public class YearsViewModel
{
public string Year { get; set; }
public IEnumerable<SelectListItem> Years
{
get
{
return new SelectList(
Enumerable.Range(1900, 112)
.OrderByDescending(year => year)
.Select(year => new SelectListItem
{
Value = year.ToString(),
Text = year.ToString()
}
), "Value", "Text");
}
}
}
Luego de un controlador:
public class YearsController : Controller
{
public ActionResult Index()
{
return View(new YearsViewModel());
}
[HttpPost]
public ActionResult Index(int year)
{
// TODO: do something with the selected year
return new EmptyResult();
}
}
y una vista correspondiente a la acción index:
@model SomeAppName.Models.YearsViewModel
@{
Layout = null;
}
@Html.DropDownListFor(x => x.Year, Model.Years)
Y finalmente dentro de su _Layout.cshtml
puede usar este controlador:
<div id="selectyear">@Html.Action("index", "years")</div>
y adjuntar una escritura correspondiente que enviaría una petición AJAX cuando el valor cambia:
$(function() {
$('#selectyear select').change(function() {
$.post('@Url.Action("index", "years")', { year: $(this).val() }, function (result) {
});
});
});
Perfecto !!!! ¡Muchas gracias por la ayuda! –
@Sam, eres bienvenido. –
Impresionante. Lo adaptó para un selector de país sin ningún problema. Gracias cargas. –
- 1. Diseño de maquinilla de afeitar MVC 3
- 2. bucle de MVC en la maquinilla de afeitar, lista desplegable generada no valor seleccionado
- 3. El uso de la maquinilla de afeitar sin MVC
- 4. MVC 3 - Andamiaje lista desplegable
- 5. ASP.NET MVC variable de la maquinilla de afeitar en línea
- 6. @RenderSection en plantillas de maquinilla de afeitar anidadas
- 7. plantilla MVC 3 Editor con DateTime
- 8. ReSharper no es capaz de resolver la maquinilla de afeitar
- 9. seguimiento con ASP.NET MVC 3 y vistas de afeitar usuario
- 10. Habilitar y deshabilitar un cuadro de texto en la vista de maquinilla de afeitar (ASP.Net MVC 3)
- 11. plantillas Jquery con la maquinilla de afeitar cómo utilizar la maquinilla de afeitar dentro de las secuencias de comandos de texto/html
- 12. Render vista parcial con el modelo dinámico en el motor de vista Maquinilla de afeitar y ASP.NET MVC 3
- 13. Fecha y hora actual - Predeterminado en la maquinilla de afeitar MVC
- 14. código de la maquinilla de afeitar entre comillas dobles
- 15. Ventajas de la maquinilla de afeitar reemplazan (@href)
- 16. lista desplegable de ASP.NET MVC
- 17. Formateo condicional en una vista índice de maquinilla de afeitar
- 18. Ejecutando una vista de maquinilla de afeitar de forma dinámica
- 19. Autopost en la lista desplegable de mvc
- 20. ASP.NET MVC 3 Vista parcial en la página de diseño
- 21. ASP.net MVC3 - Vistas de maquinilla de afeitar y vistas parciales con Atrasados de Ajax
- 22. Verificar errores de maquinilla de afeitar durante la compilación
- 23. cómo escapar correctamente los frenos de la maquinilla de afeitar
- 24. MVC 3 - Razor - Imprimir valor de modelo
- 25. ASP.NET MVC 3 utilizando la maquinilla de afeitar - usar la expresión condicional junto con la salida HTML
- 26. MVC 3, (cuchilla de afeitar) carga parcial con validación
- 27. Cambie la clase CSS de una entrada de error de validación con la maquinilla de afeitar
- 28. ¿Es posible modificar la salida del visor de la maquinilla de afeitar justo antes de enviarlo al cliente?
- 29. taquigrafía si otra persona con la maquinilla de afeitar
- 30. Maquinilla de afeitar: cómo representar el contenido en una variable
Qué problema particular están experimentando? – marcind