asp.net-mvc - 从一个 Controller 操作发布到另一个 Controller 操作(不重定向)

标签 asp.net-mvc forms post

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

接收操作接受 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/

相关文章:

c# - ASP.Net 5 AuthorizationHandler 失败重定向

javascript - 添加后从表单中删除输入时出现问题

iphone - UIIMAGE 和参数的 HTTP post 到网络服务器

javascript - 使用 Dropzone.js 的非 ajax 帖子

asp.net-mvc - 在asp.net MVC3中调用局部 View

asp.net-mvc - ASP.NET MVC 中的约定有多灵活?

php - 如何使用jQuery和AJAX在表单提交后立即显示数据?

javascript - XMLHttpRequest() 不发送 FormData() 导致 PHP $_FILES 数组为空并且没有上传文件

java - EntityUtils toString 在大响应上花费的时间太长

asp.net-mvc - ASP.NET MVC 框架中的缓存