2015-09-08 82 views
0

我有一個內部的局部視圖表:局部視圖沒有得到正確的模型

@foreach (var item in Model) { 
<tr> 
    <td> 
    @Html.DisplayFor(modelItem => item.Customer.Name) 
    </td> 
    <td> 
    @Html.Partial("_taskDetails", item) 
    </td> 
</tr> 
} 

_taskDetails,這是局部視圖,只得到模型item的第一個實例。我在這裏錯過了什麼?實際上,我在_taskDetails中使用了一個按鈕,這意味着我在Index.cshtml的每一行表中都有一個按鈕。當我按下每一行的按鈕時,我只是得到第一行的一個實例,我不知道爲什麼。

回答

0

這是在視圖頁面(Index.cshtml):

@model IEnumerable<Models.Sample> 
@foreach (var item in Model) { 
<tr> 
    <td> 
    @Html.DisplayFor(modelItem => item.Customer.Name) 
    </td> 
    <td> 
    @Html.Partial("_taskDetails", item) 
    </td> 
</tr> 
} 

創建一個局部視圖爲 「_taskDetails.cshtml」 內部的局部視圖中添加以下內容:

@model Models.Sample 
<td> 
     @Html.DisplayFor(modelItem => Model.Customer.Name) 
</td> 

我認爲這會幫助你。

+0

謝謝,但這不是重點。其實我在「_taskDetails」中使用了一個按鈕,這意味着我在「Index.cshtml」的每一行表格中都有一個按鈕。當我按下每一行的按鈕時,我只是得到第一行的實例,我不知道爲什麼?! – Hadee

0

只需使用

@ Html.Partial( 「_ taskDetails」,模型)的 代替

@ Html.Partial( 「_ taskDetails」,項目)

分享反饋...

+0

我不明白這一點,我需要「項目」不是模型。 – Hadee