MVC3 具有实体框架,可以在控制器中创建、删除、编辑方法。我正在制作一个允许编辑多个表格的控制面板。如何将控制器(实体框架)合并到另一个控制器(控制面板)中?
有什么巧妙的解决方法吗?
MVC3 具有实体框架,可以在控制器中创建、删除、编辑方法。我正在制作一个允许编辑多个表格的控制面板。如何将控制器(实体框架)合并到另一个控制器(控制面板)中?
有什么巧妙的解决方法吗?
如果您想从同一页面编辑多个表中的数据,您可以使用视图模型来完成此操作。您在视图中呈现给用户的数据不需要与表或模型具有 1:1 的关系。
视图模型将允许您从各种来源选择数据,将其呈现给用户以供查看或编辑,如果用户保存相同,您可以从控制器操作中选择视图模型并使用该数据更新一个或多个表。
好的,有两种方法可以说您在 ControlPanel 控制器中有一个默认的控制面板操作,您可以有一个变量进入并说明您要控制的内容,我们称之为 controlID,然后您可以使用 RedirectToAction 去改为那个动作,像这样
public ActionResult controlPanel(object controlId){
if(controlId.equals(something)){
RedirectToAction(SomeAction, SomeController);
}
}
另一种是您可以使用相同的想法并直接调用控制器动作。像这样:
var result= new SomeController().SomeAction();
尽管这破坏了 MVC 设计,因为您应该让它成为一个更通用的功能而不是控制器,因为控制器旨在控制模型和视图之间的数据移动。如果我看到一些代码,我可以给你一个更具体的回应。