代码之家  ›  专栏  ›  技术社区  ›  Ben Lesh

在MVC2中提交重定向到另一个页面的最佳实践?

  •  0
  • Ben Lesh  · 技术社区  · 15 年前

    我的MVC2应用程序出现了这样一种情况:我有多个页面需要提交不同的信息,但所有页面都需要在同一个页面上结束。在我的旧Web表单应用程序中,我刚在我的btnsave_click delegate with a redirect中完成了这项工作。

    有三种不同类型的产品,每种产品都需要以完全不同的方式从其完全不同的产品页面保存到购物车中。我不想搞清楚他们为什么或如何不同,只想说,他们完全不同。 将它们保存到购物车后,我需要“重定向”到“签出”视图。但需要注意的是,您也可以直接浏览到结帐处,而不必提交任何要添加到购物车中的产品。

    下面是我正在努力实现的目标以及我需要如何处理它的示意图:

    这是正确的吗? 这似乎是一个常见的场景,但我没有看到任何我应该如何处理这一问题的例子。

    提前感谢大家。

    有三种不同类型的产品 ,每个都需要 以完全不同的方式保存到购物车 从他们完全不同的产品页面。我不想搞清楚他们为什么或如何不同,只想说,他们完全不同。 将它们保存到购物车后,我需要“重定向”到“签出”视图 . 但应该注意的是 你也可以直接浏览到结帐处 查看而不必提交任何要添加到购物车的产品。

    这是一张我想要完成的,以及我如何完成的图表 认为 我需要处理: alt text

    这是正确的吗? 这似乎是一个常见的场景,但我没有看到任何我应该如何处理的例子。

    提前谢谢大家。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Kevin Pang    15 年前

    是的,这当然是解决问题的一种方法。如果您的小部件、whatzit和whozits视图真的有那么大的不同,那么尝试任何类型的继承方案或智能视图可能都不值得,因为它们能够根据作为视图模型传入的内容来显示其中的任何一个。

    如果您要求如何处理重定向,那么在处理小部件、Whatzit和Whozit控制器上的保存操作时,可能应该使用RedirectToAction(“操作”、“签出”)。

        2
  •  1
  •   Keith Adler    15 年前

    如果您为每个XYZIT项都有一个基本模型类,并且可以将它们作为签出项的集合直接传递给签出控制器,而不是将这些中间控制器传递给签出控制器,那就太好了。不太清楚为什么需要这些额外的控制器。

        3
  •  0
  •   Dennis C    15 年前

    你可以使用 RedirectToAction