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

接收操作接受 FormCollection,发送操作接受 FormCollection

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

然而,当执行该操作时,FormCollection 为空(form.HasKeys() = false)。

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

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

编辑: 有此问题的朋友请查看 PRG模式. 。这是我想要做的实际术语,它也可以实现漂亮的网址。

有帮助吗?

解决方案

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

此链接可能有帮助:

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top