我有一个操作,如果满足某些条件,我需要将其转发到另一个操作,但在传递到下一个操作时我无法保留表单数据。
接收操作接受 FormCollection,发送操作接受 FormCollection
目前,我正在做一个 return RedirectToAction("action","controller", form)。我可以确定表单变量在重定向之前具有键 (form.HasKeys() = true)。
但是,当执行该操作时,FormCollection 为空 (form.HasKeys() = false)。
有什么想法吗?我是否缺少“PostToAction”方法?
仅供引用:我正在使用 ASP.NET MVC Beta。非常感谢!
编辑:对于遇到此问题的用户,请查看 PRG Pattern 。这是我想要做的实际术语,它也可以实现漂亮的网址。
最佳答案
当 RedirectToAction 被调用时,它将进行 HTTP 重定向,并且将 GET 发送到其他操作 URL。如果您需要重用另一个 Controller 中的代码,我会按照 ewalshe 的建议进行操作,将公共(public)部分移至 BaseController 或业务服务,并将两个操作委托(delegate)给它。
此链接可能有帮助:
关于asp.net-mvc - 从一个 Controller 操作发布到另一个 Controller 操作(不重定向),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419840/