2013-12-22 81 views
0

我有以下問題,我的林業管理Applpication:asp.net MVC4訪問

Index.cshtml:

@model IEnumerable<ForestryManagement.Models.Forestry> 

@foreach (var forestry in Model) 
    { 
     <li>@Html.ActionLink(forestry.Name, "Index12", new {tree = forestry.ForestryID}) 


    } 

當你點擊一個Forestry(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 

現在,當我將在此建立林業另一棵樹,我需要從林業ID我Index12.cshtml頁上的ActioLink

+0

您需要使用視圖模型 - 不通過你的數據實體的看法 - 並把ID模型中的每個視圖。 http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-3 –

回答

0

創建樹列表視圖模型,就像這樣:

public class TreeListingViewModel 
{ 
    public int ForestryId { get; set; } 

    public IEnumerable<TreeViewModel> Trees { get; set; } 
} 

注:不想只是用你的Tree數據實體,以減少你的觀點,你的數據模型(之間的依賴關係的創建TreeViewModel代替,並增加安全性,因爲人們可以很容易地注入屬性到數據庫中,如果你暴露你的數據實體直接到你的視圖)。

傳遞到您的視圖來代替:

@model TreeListingViewModel 

... 

@Html.ActionLink("Create new Tree", "Create", new { id = Model.ForestryId }) 
+0

THX爲您提供幫助 – user3126813