У меня есть ViewModel со свойством Filter, у которого есть много свойств, которые я использую для фильтрации своих данных
Пример:
class MyViewModel : IHasFilter
{
public MyData[] Data { get; set; }
public FilterViewModel Filter { get; set; }
}
class FilterViewModel
{
public String MessageFilter { get; set; }
//etc.
}
Это прекрасно работает при использовании моего View. Я могу установить свойства Model.Filter
, и они передаются контроллеру. Сейчас я пытаюсь создать ActionLink
со строкой запроса, которая работает с указанным выше форматом.
Строка запроса, сгенерированная моим представлением выше, выглядит следующим образом:
http://localhost:51050/?Filter.MessageFilter=Stuff&Filter.OtherProp=MoreStuff
Мне нужно сгенерировать ActionLink в другом представлении для каждой строки в сетке, которая ведет к представлению выше.
Я пробовал:
Html.ActionLink(
item.Message,
"Index",
"Home",
new { Filter = new { MessageFilter = item.Message, }, },
null);
Я также пытался установить для аргумента routeValues
значение:
new MyViewModel { Filter = new FilterViewModel { MessageFilter = item.Message, }, },
Но они не генерируют строку запроса, подобную приведенной выше.