c# - 在 ASP.Net MVC 中处理动态重定向路由所需的建议

标签 c# asp.net-mvc

我有许多创建和删除部分 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/

相关文章:

C# - 带有 aspx 页面的 Web 服务

c# - 简单而精细的for循环不起作用

c# - 如何从数据库中检索项目 C#

javascript - 使用 HTML5 Ajax 表单属性不适用于 ASP.NET MVC,仍然被重定向到 Action url

c# - 试图继承三个基类而不能

c# - 单机低延迟、高吞吐量数据传输的最佳并发框架

javascript - 为什么 Visual Studio 和 javascript 找不到 Html.EnumDropDownListFor 的 id?

javascript - 是否可以将 Razor 文件中的模型扩展为单独的 Javascript 文件?

ASP.NET MVC 2 - 成员资格提供程序 - ValidateUser() - 返回登录错误消息

c# - ApplicationUserManager.Create 在每个请求上调用