我想这样做:
return RedirectToRoutePermanent("Dealers", new { action = "Join" });
但我不得不这样做才能让它发挥作用:
return RedirectPermanent("/dealers/join");
加入是经销商控制器中的一个操作,另一条路由可以正常工作,并被路由到经销商控制器。但是当我以这种方式尝试时,它会在没有找到路径时出错。有什么想法吗?
答案 0 :(得分:1)
return RedirectToActionPermanent("Join", "Dealers");
答案 1 :(得分:0)
基于MSDN引用,ReidrectToRoutePermanent采用字符串参数,该参数应该是路由名称而不是控制器名称。如果您依赖默认路由导航到/ dealers / join,那么这将无效。你的路由表是什么样的?你能附上注册路由代码吗?此外,如果您在Controller操作方法范围内执行,我认为您需要一个方法RedirectToActionPermanent。
答案 2 :(得分:0)
可能有更好的方法,但您可以在调用中将Url.Action()包含在您的方法中吗?
答案 3 :(得分:0)
您可以使用RedirectToRoutePermanent。 RedirectToRoutePermanent方法适用于RouteName。 因此,您需要将RouteName作为第一个参数传递,并将Route参数作为第二个参数传递。
此外,您还需要提及控制器名称。 像,
return RedirectToRoutePermanent("YourRouteName", new { controller="Dealers", action = "Join" });
希望有所帮助。