我搜索过并发现了几个类似于我的问题,但答案太过具体,无法帮助OP的情况。
在我的主视图中,我有一个项目表和每个项目的操作链接:
Item Name Actions
Item #1 Foo | Bar
Item #2 Foo | Bar
主视图使用以下代码显示此表:
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Title)</td>
<td>
@Html.ActionLink("Foo", "Index", "Test", item, null) |
@Html.ActionLink("Bar", "Index", "Test", item , null)
</td>
</tr>
}
如您所见,主视图表中的每个项目都链接到测试控制器/视图。
测试控制器的索引操作定义为:
public ActionResult Index(Item item)
{
return View(item);
}
然后定义测试视图以接受Item模型:
@model Models.Item
这一切都有效,Test视图显示Item对象的数据。
但是,我现在需要Foo和Bar以两种不同的方式或模式显示Test控制器/视图。
类似的东西:
?mode=foo&item=Item
?mode=bar&item=Item
如何将Item对象和模式传递给Test控制器,以便Test视图根据模式正常运行?
答案 0 :(得分:1)
将模式添加到路线值。您必须展开Item
的属性
@Html.ActionLink("Foor", "Index", "Test", new { mode = "foo", propA = item.PropA }, null)