2013-08-17 99 views
2

我有4個不同的ActionResult在2個不同的控制器中運行,我創建了一個局部視圖StudentList,我想使用與模型相同的partialView。asp.net mvc從不同的控制器調用單個視圖

從1日的ActionResult我想從第二的ActionResult我想通過班主任 從3日的ActionResult我想通過收費來顯示StudentList不從第4的ActionResult我想缺席顯示StudentList支付 顯示StudentList Class,以顯示StudentList

學生

所有4個返回一個模型類型的學生。 與字段StudentName,ParentMobileNo

是否有可能不創建4個不同的視圖,並使用單個部分視圖或單個視圖來顯示結果。

問候

回答

3

是。創建一個共享視圖並在從控制器返回ActionResult時傳遞視圖名稱。

return View("StudentList", model); 

或者,如果你想呈現的部分,從一個觀點:

@{ Html.RenderPartial("StudentList", model); } 
0

創建的局部視圖將被掛接到用你的學生模型。

然後在您的控制器中創建多個操作以返回不同的結果。

StudentsByClass - 然後在此操作中調用相關業務層/存儲庫來執行查詢,只要它返回類型Student(或在部分視圖中使用的模型的名稱)就可以了。

然後爲每個場景創建另外三個動作,再次調用相關的業務/存儲庫方法來執行查詢。同樣,只要他們返回部分學生視圖期望它應該工作的相同模型。

然後在每個動作的返回觀與結果一起傳遞給模型,像這樣:

return View("StudentList", model); 
0

觀應該只是擔心顯示模式傳遞給它。如何創建模型應該對視圖透明。 在你的情況,你可以有一個單一的視圖,只顯示傳遞給它的StudentList模型。爲了生成這個模型,你可以有一個動作方法或者其中的四個。 如果您想要單一操作方法,您可以傳遞一個指示分組的參數。

謝謝 Prasad

相關問題