2

我有一个动作,如果它满足某些条件,我需要转发到另一个动作,但是在传递到下一个动作时我无法保留表单数据。

接收动作接受一个 FormCollection,发送动作

目前,我正在做一个 return RedirectToAction("action","controller", form)。而且我可以确定表单变量在重定向之前有键(form.HasKeys() = true)。

但是,当操作被触发时,FormCollection 为空(form.HasKeys() = false)。

有任何想法吗?是否有我缺少的“PostToAction”方法?

仅供参考:我正在使用 ASP.NET MVC Beta。非常感谢!

编辑:对于那些有这个问题的人,请查看PRG Pattern。这是我想要做的实际术语,它也启用了漂亮的 url。

4

2 回答 2

2

我会重构这两个控制器并将公共代码放入帮助程序或公共基类中。这样,两个控制器中的操作可以委托给公共代码。

于 2009-01-07T10:50:15.430 回答
2

当调用 RedirectToAction 时,它将进行 HTTP 重定向,并将 GET 到另一个操作 URL。如果您需要重用来自另一个控制器的代码,我会按照 ewalshe 的建议进行操作,将 common 移至 BaseController 或业务服务,并将这两个操作委托给它。

此链接可能会有所帮助:

于 2009-01-07T11:19:35.683 回答