首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

切换到{controller}/{id}/{action}会中断RedirectToAction

切换到{controller}/{id}/{action}会中断RedirectToAction是一个关于ASP.NET MVC中的重定向问题的问题。在ASP.NET MVC中,当你使用RedirectToAction方法时,它会将请求重定向到指定的控制器和动作,并且会生成一个新的URL。如果在RedirectToAction之前,你已经修改了当前的URL,那么RedirectToAction将会中断,因为它会尝试生成一个新的URL,但是由于URL已经被修改,它将无法生成正确的URL。

为了解决这个问题,你可以使用RedirectToRoute方法来代替RedirectToActionRedirectToRoute方法允许你直接指定要重定向到的路由参数,而不是直接指定控制器和动作。这样,你可以在重定向之前修改URL,而不会影响到RedirectToRoute方法的正常工作。

以下是一个使用RedirectToRoute方法的示例:

代码语言:csharp
复制
return RedirectToRoute(new { controller = "ControllerName", action = "ActionName", id = "123" });

这将会重定向到名为ControllerName的控制器中名为ActionName的动作,并将id参数设置为123

总之,如果你在使用RedirectToAction方法时遇到了问题,可以考虑使用RedirectToRoute方法来代替,以避免由于URL被修改而导致的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    当然,你也可以不以Controller作为控制器类名(ClassName)的固定后缀,那么路由模块以完整的类名(ClassName)作为ControllerName 在 ASP.NET MVC框架中...路由将请求交由对应的Controller处理时,Controller找到对应的Action方法,并从RouteData或HTTP请求数据(QueryString、FormData、Header等)找到执行该方法所需要的参数的值...GetId(int id) { return Content($"Action params mapping test by ken.io, id:{id}"); } 启动应用,浏览器访问 /...id=1024,将会看到以下输出: Action params mapping test by ken.io, id:1024 或者通过PostMan等工具post访问 /pmt/getid 在HTTP...id=1,2,将会看到以下输出: Action params mapping test by ken.io,id:1,2 或者通过PostMan等工具post访问 /pmt/getarray 并设置表单参数并发送请求

    1.9K10

    ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    当然,你也可以不以Controller作为控制器类名(ClassName)的固定后缀,那么路由模块以完整的类名(ClassName)作为ControllerName 在 ASP.NET MVC框架中,...路由将请求交由对应的Controller处理时,Controller找到对应的Action方法,并从RouteData或HTTP请求数据(QueryString、FormData、Header等)找到执行该方法所需要的参数的值...GetId(int id) { return Content($"Action params mapping test by ken.io, id:{id}"); } 启动应用,浏览器访问 /...id=1024,将会看到以下输出: Action params mapping test by ken.io, id:1024 或者通过PostMan等工具post访问 /pmt/getid 在HTTP...id) { var message = "Action params mapping test by ken.io,id:"; if (id !

    2.3K40

    Asp.net mvc 知多少(四)

    通读此书,帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希望大家多多留言指正。...Return RedirectToAction() - 这是告诉MVC去跳转到指定的action而不是直接提供HTML。这种方式下,浏览器将受到跳转通知并重新发送一个指定action的新请求。...而且, RedirectToAction 根据路由表构造了一个跳转URL到指定的action/controllerRedirectToAction 会使浏览器收到302重定向状态码。...Return RedirectToRoute() - 这是告诉MVC去路由表中查找指定的路由,然后重定向到路由中定义的controller/action。同样,这也要发起一个新的请求。...在 RedirectToAction 和 Redirect之间,最佳实践是在应用程序中的actions/controllers中进行跳转时使用 RedirectToAction

    2.2K90

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

    页面跳转到新增页面 2/删除操作 : 选择记录或单击行上的删除 弹出确认框 是否删除改记录 3/编辑操作 : 单击行上的编辑图标页面跳转到编辑页面 4/查询操作 : 在Search 文本框中输入关键字根据后台每个字段的查询...功能: 加载数据:根据主从关系把表头/表体的数据一次性加载 编辑数据:对表体明细的的操作类似新增页面,但对表体进行删除操作时会进行提示是否真的要删除后台数据。...var serializedForm = $(this).serialize(); var actionurl = $(this).attr('action...层代码 这里就只贴Create方法的代码 public class OrdersController : Controller { //private StoreContext...) { var url = '@Url.Action("DeleteOrderDetail")'; bootbox.dialog({ message

    1.4K130

    Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)

    (document).ready(function () { $('#orders').submit(function () { var actionurl = $(this).attr('action...的Create,Edit 方法中的Order就是没有[ObjectState]这个字段的值;所以在Controller层还得写很多代码来修改实体状态 Controller层代码 这里就只贴Create...(order); _unitOfWork.SaveChanges(); DisplaySuccessMessage("Has append a Order record"); //return RedirectToAction...用于生产对应的Partial View 我在这里也试过在OrderController中不添加对子表操作的Action,完全使用JS完成对行的操作,但在对编辑现有表体数据时出现了问题。...Html.Partial("_OrderDetailForm")*@ 现在还有非常棘手的问题就是如何进行删除操作,一旦在编辑状态下,把其中一个表体的记录删掉,删除后就没办法把数据提交到后台,而不删添加一个删除标志,这同样也带来很多操作

    1.9K80

    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    最终用户产生发送请求。Form标签是HTML中产生请求的一种方式,Form标签内部的提交按钮只要一被点击,请求会被发送到相关的action 属性。 Form标签中方法属性是什么?...同一时间可能接收到多个值,为了区分发送到所有值为每个值附加一个Key,这个Key在这里就是名称属性。 名称和 Id的作用是否相同?...实验10——在服务器端(或Controller)获取Post数据 1....当保存按钮被点击时,保存按钮的值也随着请求被发送到服务器端,当点击取消按钮时,取消按钮的值”取消“随着请求发送。 在Action 方法中,Model Binder 将维护这些工作。...使用JavaScript 动态的修改URL 1: 2: ... 3: ...

    5.3K100
    领券