我有一個視圖模型與過濾器屬性,有,我用它來篩選我的數據如何使用屬性創建的ActionLink的視圖模型
例如,許多特性:
class MyViewModel : IHasFilter
{
public MyData[] Data { get; set; }
public FilterViewModel Filter { get; set; }
}
class FilterViewModel
{
public String MessageFilter { get; set; }
//etc.
}
能正常工作時,使用我的視圖。我可以設置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, }, },
但這些不生成查詢字符串像上面一個。
+1好問題 – 2012-04-04 12:59:37
感謝您的編輯;我重構了答案,並在替換中忘記添加'前綴'! – 2012-04-04 13:22:21
@AndrasZoltan沒問題。 – DaveShaw 2012-04-04 13:28:58