Asp.net mvc MVC3两个控制器动作能否返回一个视图?

Asp.net mvc MVC3两个控制器动作能否返回一个视图?,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我的控制器中有两种动作方法。我希望两者都返回一个视图 原因是我的视图中有条件检查,检查属性是否为null,然后不显示div;如果用户单击load按钮,则需要通过设置模型的属性返回相同的视图,然后显示div 这个逻辑至少需要15次,我想创建单独的操作,只返回一个视图。可能吗?您只需在返回语句中声明视图名称: public ActionResult SomeAction() { // do something return View("SharedView", viewModel);

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

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


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

您只需在返回语句中声明视图名称:

public ActionResult SomeAction()
{
    // do something
    return View("SharedView", viewModel);
}
如果您有一个名为SharedView的视图,则该控制器中的所有操作都可以访问它。如果要在其他控制器上的操作之间共享它,可以在视图中使用共享文件夹,或使用视图名称声明完整路径

return View("viewName", data);

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


如果你想用不同的ViewModel返回相同的视图,我更愿意给action传递一个参数,让我区分如何返回给定的视图,而不是创建单独的操作来返回相同的视图…这是一个msdn参考页,Rick仔细阅读了问题。它的控制器动作。i、 一个控制器中的两种动作方法
return RedirectToAction("actionName",new{data=something});