2017-05-30 81 views
2

我試圖在我的一個模型的索引視圖中工作,我們稱之爲Table1。在表1中,有一個ID鏈接到另一個表/模型表2。我想在Table1的索引視圖中顯示文本,而不是Table2的ID,但是Table2的主要信息由其他表的兩個IDS以及Table3和Table4組成,所以我需要從Table3和Table中獲取文本4其中的實際描述是。在ASP.NET MVC中的存儲過程對於每個循環

做到這一點的唯一方法是通過存儲過程?我在想是的。但是,我需要爲我的每一個在我的桌子上我的循環。因此,如果頁面最初包含Table2的ID,我可以將它傳遞給局部視圖並處理表格內容嗎?

所以我在想什麼是這樣的:

<table> 
foreach (var item in Model) { 
<tr> 
    @RenderPage("_PartialView.cshtml") 
    <td>@item.Cotent</td> 
</tr> 
} 
</table> 

基本上我的問題可以歸結爲,將在主視圖foreach循環使局部視圖進行迭代,從而顯示多條記錄?

更新:所以我試了沒有工作。我會試着更好地解釋我的問題。所以我的第一個模型,這是我工作的視圖,我們稱之爲餐廳,包含我的第二個模型的ID,我們稱之爲Taco。我的Taco模型是沒有真正的字符串描述,僅來自我的兩個其他模型的ID,比方說生菜,還有番茄。我需要訪問描述生菜番茄將它們一路顯示在我的餐廳查看只是在一個表中,只是在一個<td></td>作爲表中的項目。我不知道如何去實現一個方法來做到這一點。在我的編輯視圖中,我創建了一個下拉菜單,使用生菜番茄中的描述並使用Taco表中的ID在下拉列表中組成Taco對象。

+0

聽起來像你試圖展示的模型涉及多個表的信息?創建一個視圖模型,它完全符合您的需求並將其發送到視圖。 – nurdyguy

+0

我該怎麼做?你能鏈接一個例子嗎? – AyeLetsGetCoding

+0

我會爲你準備一個.net小提琴。 – nurdyguy

回答

0

首先回答你上面的問題,主視圖上的foreach循環是否會導致局部視圖迭代並顯示多條記錄?

是的,它會根據你的表遍歷每個內容的局部視圖。此外,您還可以將數據傳遞給@RenderPage()和接入,使用頁面屬性

例:

@RenderPage("~/Views/Shared/_PartialView.cshtml", new { User = Model }) 

@foreach (var user in Page.User) 
{ 
<text> 
@user.UserName @user.UserPassword <br /> 
</text> 
} 

官方定義:一個渲染頁面的另一頁面中的內容。

https://msdn.microsoft.com/en-us/library/system.web.webpages.webpagebase.renderpage(v=vs.99).aspx

希望上面的信息是有用的,請讓我知道你的想法或反饋

感謝

KARTHIK

0

這裏是你如何可以添加額外的參數爲例,並切換到RenderPartial調用以將另一個ID傳遞到您的局部視圖中。

<table> 
    @foreach (var item in Model) { 
    <tr> 
     @Html.RenderPartial("_PartialView.cshtml", new { Table2ID = item.Table2ID }) 
     <td>@item.Content</td> 
    </tr> 
    } 
</table> 

希望這有助於!