我的林业管理应用存在以下问题:
Index.cshtml:
@model IEnumerable<ForestryManagement.Models.Forestry>
@foreach (var forestry in Model)
{
<li>@Html.ActionLink(forestry.Name, "Index12", new {tree = forestry.ForestryID})
}
当您点击一个林业(ActionLink)时,您将被重定向到Index12,其中列出了这些林业的树木
Index12.cshtml:
@model IEnumerable<ForestryManagement.Models.Tree>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.treeName)
</td>
</tr>
@Html.ActionLink("Create new Tree", "Create", new { id = **??????**}) //need ForestyID from Index.cshtml here
现在,当我在这个林业中创建另一棵树时,我需要在我的Index12.cshtml页面上获取林业中的ID以获取ActioLink
答案 0 :(得分:0)
为树列表创建一个视图模型,如下所示:
public class TreeListingViewModel
{
public int ForestryId { get; set; }
public IEnumerable<TreeViewModel> Trees { get; set; }
}
注意:首选创建TreeViewModel
而不是仅仅使用Tree
数据实体来减少视图与数据模型之间的依赖关系(并且还可以提高安全性,因为人们可以轻松地将属性注入到您的数据库,如果您将数据实体直接暴露给您的视图)。
将其传递给您的视图:
@model TreeListingViewModel
...
@Html.ActionLink("Create new Tree", "Create", new { id = Model.ForestryId })