Передача дат из представления в контроллер mvc/c#

У меня есть веб-страница, которая использует фильтр диапазона дат, выбранный диапазон дат передается обратно в контроллер, когда пользователь нажимает на ссылку действия 'filter', и контроллер возвращает представление 'index' с отфильтрованными данными модели.

View

@Html.ActionLink("Filter", "FilterDateRange", new { from = Url.Encode(Model.FromDate.ToString()), to = Url.Encode(Model.ToDate.ToString()) }, null)

Controller

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 декодируется в контроллере, я бы предпочел, чтобы метод в контроллере принимал временные параметры даты, а не строки, это кажется немного хакерским.

Спасибо.

5
задан tereško 5 July 2013 в 10:14
поделиться