我有许多创建和删除部分 View ,我想通过从其他 View 调用来重用它们。问题是这需要我将返回路由和 routeValues 传递给创建和删除 Controller 方法,以便它们可以在成功时生成适当的重定向回到原始 View 。我创建了一些扩展和助手来保持整洁,但以这种方式解决问题似乎很费解。我错过了什么吗?当(重定向) Controller 、操作和 routeValues 可以变化时,是否有一种简单的方法来实现 RedirectToAction?
为清楚起见的示例:产品 A-Z 索引 View 和产品 SomeCategory 索引 View 都有一个调用删除 View 的删除按钮(显示“你真的想删除吗”消息),其中包含回发到产品 Controller 中实际 (POST) 删除方法的“真正删除”按钮。一旦产品被删除,我们需要返回一个 RedirectToAction,但是由于“A-Z 索引”和“SomeCategory 索引” View 都有一个删除链接,我们必须动态地将操作、 Controller 和路由值设置为任何值 View 最初称为删除。
这并不困难,但是围绕处理删除的所有 Controller 和 View 传递重定向值非常复杂,并且按理说必须有一种更明智的方法来做到这一点。
最佳答案
在删除操作(显示确认 View 的操作)中查询 Request.UrlReferrer 并将引荐来源详细信息存储在临时数据中。
在删除操作中,从临时数据中读回引用详细信息,并使用 Redirect(string) 重载重定向到将用户引用到原始删除请求的 url。
关于c# - 在 ASP.Net MVC 中处理动态重定向路由所需的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/835713/