RouteValues ​​с помощью ViewModel - PullRequest
       43

RouteValues ​​с помощью ViewModel

0 голосов
/ 06 октября 2011

У меня есть 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 Ответ

1 голос
/ 06 октября 2011

Попробуйте так:

Url.RouteUrl(
    "myRoute", 
    new { 
        FilterProperty = "Product", 
        FilterTerm = _detail.FilterTerm 
    }
)

Не представляете, как выглядит ваша конфигурация маршрутизации, но это может привести к появлению чего-то из строк http://theurl?FilterProperty=Product&FilterTerm=ProductA.Для чего-то более экзотического, например, URL-адресов, которые вы указали в своем вопросе, вам придется написать собственных помощников.Ничего стандартного.

...