c#mvc3控件内的控件

时间:2012-11-23 21:39:39

标签: c# asp.net-mvc entity-framework-4

MVC3具有实体框架,可在控制器中创建,删除,编辑方法。 我正在制作一个允许编辑多个表的控制面板。如何在另一个控制器(控制面板)中包含控制器(实体框架)?

任何聪明的解决方法?

例如http://example.com/Control_panel/Another_Controller

2 个答案:

答案 0 :(得分:0)

好的,有两种方法可以说你在ControlPanel控制器中有一个默认的控制面板动作,你可以有一个变量进入并说出你想要控制的内容,让我们称之为controlID,然后你可以使用RedirectToAction代替转到那个动作,就像这个

public ActionResult controlPanel(object controlId){
     if(controlId.equals(something)){
         RedirectToAction(SomeAction, SomeController);
     }
}

另一个是你可以使用相同的想法并直接调用控制器动作。像这样:

var result= new SomeController().SomeAction();

虽然这打破了MVC设计,因为你应该让它成为一个更通用的功能而不是控制器,因为控制器旨在控制模型和视图之间的数据移动。如果我看到一些代码,我可以给你一个更具体的回应。

答案 1 :(得分:0)

如果要编辑同一页面中多个表的数据,可以使用视图模型完成此操作。您在视图中向用户显示的数据不需要与表格或模型建立1:1的关系。

视图模型允许您从各种来源中选择数据,将其呈现给用户进行查看或编辑,如果用户保存相同的数据,您可以从控制器操作中选择视图模型并使用该数据进行更新一个或多个表。

相关问题