MVC3两个控制器动作可以返回一个视图吗?

时间:2012-01-08 21:27:11

标签: asp.net-mvc asp.net-mvc-3

我的控制器中有两个动作方法。我希望两者都返回一个视图。

原因是因为我在视图中有条件检查,检查属性是否为null然后不显示div,如果用户单击加载按钮,则需要通过设置属性来返回相同的视图模型,然后显示div。

此逻辑至少需要15次,我想创建单独的操作,返回模型但只有一个视图。有可能吗?

2 个答案:

答案 0 :(得分:17)

您只需在return语句中声明该视图名称:

public ActionResult SomeAction()
{
    // do something
    return View("SharedView", viewModel);
}

如果您有一个名为 SharedView 的视图,则该控制器中的所有操作都可以访问它。如果要在其他控制器上的操作之间共享它,可以使用视图中的共享文件夹或使用视图名称声明完整路径。

答案 1 :(得分:1)

return View("viewName", data);


第一个参数告诉框架从哪个视图渲染和第二个参数用于为该视图提供数据
其次你可以使用

return RedirectToAction("actionName",new{data=something});