用于在MVC2应用程序中指定“返回”控制器/操作的模式

时间:2010-06-28 05:42:23

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

问题:

  1. 使用ASP.NET MVC2构建的日历应用程序
  2. 在主日历页面中,用户可以选择一个添加约会链接,该链接会显示一个表单以创建新约会。
  3. 创建约会后,我们希望返回主日​​历页面,可能会显示错误或确认消息。
  4. 应用程序中还有其他页面也链接到创建表单。表单应始终返回到用户选择创建约会时所在的页面。
  5. 基本流程是始发页面 - >形式 - >原始页面。

    在表单控制器中,我们不想对返回操作进行硬编码,而是说像

    Create(AppointmentModel model)
    {
      ...
      return RedirectToTheReferringAction(...)
    

    他们是实施此方法的最佳做法吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我会在任何包含小部件的视图上设置它:

ViewData["controller"] = Request.RequestContext.RouteData.Values["controller"];
ViewData["action"] = Request.RequestContext.RouteData.Values["action"];

因此,在您的小部件中,您可以执行此操作以返回上一个视图:

return RedirectToAction(ViewData["action"].ToString(), ViewData["controller"].ToString());

我假设小部件只是一个局部视图。