RouteValues с помощью ViewModel
У меня есть ViewModel, который очень простой объект фильтра, как это:
public class FilterViewModel
{
public String FilterTerm { get; set; }
public String FilterProperty { get; set; }
}
я надеялся сделать ссылку на маршрут с другой страницы на эту и передать свою FilterViewModel в создание URL-адреса маршрута в RouteValues, например:
Url.RouteUrl("myRoute", new { filter = new FilterViewModel() { FilterProperty = "Product", FilterTerm = _detail.FilterTerm }})"
Вот что делает на другой стороне
http://theurl?filter=Fully.Qualified.Namespace.FilterViewModel
Я не знаю, что я ожидал, возможно, что-то, что сериализовано в строку запроса, например:
http://theurl?filter=FilterProperty|Product,FilterTerm|ProductA
Есть ли способ сделать то, что я пытаюсь сделать из коробки? (или не из коробки)
1 ответ
Решение
Попробуйте вот так:
Url.RouteUrl(
"myRoute",
new {
FilterProperty = "Product",
FilterTerm = _detail.FilterTerm
}
)
Не знаю, как выглядит ваша конфигурация маршрутизации, но это может привести к чему-то http://theurl?FilterProperty=Product&FilterTerm=ProductA
, Для чего-то более экзотического, например, URL-адресов, которые вы указали в своем вопросе, вам придется написать собственных помощников. Ничего стандартного.