Tengo una página web que utiliza un filtro de rango de fechas, el intervalo de fechas seleccionado se transfiere al controlador cuando el usuario hace clic en el enlace de acción 'filtro' y el controlador devuelve el ' vista de índice con los datos del modelo filtrado.Pasando fechas desde la vista al controlador mvc/C#
Ver
@Html.ActionLink("Filter", "FilterDateRange", new { from = Url.Encode(Model.FromDate.ToString()), to = Url.Encode(Model.ToDate.ToString()) }, null)
controlador
public ActionResult FilterDateRange(string from, string to)
{
var fromDate = DateTime.Parse(HttpUtility.UrlDecode(from));
var toDate = DateTime.Parse(HttpUtility.UrlDecode(to));
//do stuffs
return View("Index", statsPages);
}
Mi pregunta es, ¿hay una manera más elegante de hacer esto? Actualmente, el valor de la fecha se codifica en la url en la vista y luego se decodifica en url en el controlador, prefiero que el método dentro del controlador tome los parámetros de fecha y hora en lugar de cadenas, parece un poco raro como es.
Gracias.
Sí, esto funciona gracias. Supuse que no podría pasar el tiempo de la fecha sin procesar, ya que dañaría la URL, pero parece que la carpeta del modelo maneja esto como usted dijo. – RobJohnson