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

时间:2010-04-27 01:04:53

标签: asp.net-mvc-2

我的MVC2应用程序有这样的情况,我有多个页面需要提交不同的信息,但都需要在同一页面上结束。在我的旧Web窗体应用程序中,我刚刚使用重定向在我的btnSave_Click委托中完成了此操作。

有三种不同类型的产品,每种产品都必须以完全不同的方式从完全不同的产品页面中保存到购物车中。我不打算讨论他们为什么或如何与众不同,只是说,他们完全不同。 将它们保存到购物车后,我需要“重定向”到Checkout视图。但需要注意的是,您也可以直接浏览Checkout 视图,而无需提交任何产品添加到购物车。

这是我想要完成的事情的图表,以及我想想我需要如何处理它: alt text

这是正确的吗?这似乎是一种常见的情况,但我还没有看到任何关于如何处理这个问题的例子。

提前谢谢大家。

3 个答案:

答案 0 :(得分:1)

如果您为每个XYZIt项目都有一个基础Model类,并且可以将它们作为CheckOutItems的集合直接传递给结账控制器,而不是将这些中间控制器放在那里,那将是一件好事。不确定为什么需要这些额外的控制器。

答案 1 :(得分:1)

是的,这肯定是处理它的一种方法。如果您的小部件,专题和whozits视图真的不同,那么尝试任何类型的继承方案或能够根据视图模型传入的内容显示其中任何一个的智能视图可能是不值得的。

如果您正在询问如何处理重定向,则在处理widget,whatzit和whozit控制器上的保存操作时,您应该使用RedirectToAction(“Action”,“Checkout”)。

答案 2 :(得分:0)

您可以使用RedirectToAction