У меня есть веб-страница, которая использует фильтр диапазона дат, выбранный диапазон дат передается обратно в контроллер, когда пользователь нажимает ссылку действия «фильтр», и контроллер возвращает представление «индекс» с отфильтрованными данными модели.
View
@Html.ActionLink("Filter", "FilterDateRange", new { from = Url.Encode(Model.FromDate.ToString()), to = Url.Encode(Model.ToDate.ToString()) }, null)
Контроллер
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);
}
У меня вопрос: есть ли более элегантный способ сделать это? В настоящее время значение даты кодируется по URL в представлении, а затем по URL декодируется в контроллере. Я бы предпочел, чтобы метод в контроллере принимал параметры даты и времени, а не строки, это выглядит немного хакерским.
Спасибо.