我有4个不同的ActionResult在2个不同的控制器中运行,我创建了一个局部视图StudentList,我想使用相同的partialView,因为模型是相同的。
从第一个ActionResult我想按类显示StudentList 来自2nd ActionResult我想通过Class Teacher显示StudentList 来自3rd ActionResult我想通过Fee Not Paid显示StudentList 来自4th ActionResult我想通过Absent Student显示StudentList
所有4返回模型类型的学生。 字段为StudentName,ParentMobileNo
是否可以不创建4个不同的视图并使用单个部分视图或单个视图来显示结果。
此致
答案 0 :(得分:3)
是。从控制器返回ActionResult时,创建一个共享视图并传递视图名称。
return View("StudentList", model);
或者如果您想从视图中渲染部分:
@{ Html.RenderPartial("StudentList", model); }
答案 1 :(得分:0)
创建一个将连接起来使用您的学生模型的部分视图。
然后在控制器中创建多个动作以返回不同的结果。
StudentsByClass - 然后在此操作中调用相关的业务层/存储库来执行查询,只要它返回类型Student(或在您的部分视图中使用的模型的名称)就可以了。
然后为每个场景创建另外三个操作,再次调用相关的业务/存储库方法来执行查询。只要它们返回部分学生视图所期望的相同模型,它就应该起作用。
然后在每个动作中返回视图以及结果以传递给模型,如下所示:
return View("StudentList", model);
答案 2 :(得分:0)
View应该只担心显示传递给它的模型。如何创建模型应该对视图透明。 在您的情况下,您可以拥有一个只显示传递给它的StudentList模型的视图。要生成此模型,您可以使用一种操作方法,也可以使用其中四种。 如果您想要单一操作方法,可以传递一个指示分组的参数。
由于 普拉萨德