我有一个从模型中导入数据的视图,我需要创建一个动作链接,将一部分模型数据发送回控制器
@model IEnumerable<App.Models.User>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Number)
</th>
<th>
@Html.ActionLink("Request", "Index", new { userNumber = //model.Number value })
</th>
</tr>
</table>
我试过了:
new { userNumber = model.Number })
//当前上下文中不存在名称模型
new { userNumber = Model.Number })
// IEnumerable不包含ModelNumber的定义(即使它确实如此)
答案 0 :(得分:1)
由于您使用一组用户作为模型,因此需要使用foreach循环迭代模型以获取App.Models.User
上的值。 Number属性可能位于App.Models.User
课程上,而不是IEnumerable<App.Models.User>
上。
这样的事情会起作用:
@foreach(App.Models.User user in Model) {
Html.ActionLink("Request", "Index", new { userNumber = user.Number })
}
答案 1 :(得分:0)
在Views\Shared
文件夹下,添加DisplayTemplates
文件夹。
在该文件夹中,创建一个名为User.cshtml
的视图。
添加:
<tr>
<th>
@Html.DisplayNameFor(model => model.Number)
</th>
<th>
@Html.ActionLink("Request", "Index", new { userNumber = model.Number })
</th>
</tr>
然后在您的视图中添加以下内容:
<table>
@Html.DisplayFor(model => model)
</table>