在进行重定向时,ASP.NET Core MVC的RedirectToAction方法可能会出现问题。这可能是因为静态方法实现不允许使用依赖注入。要解决此问题,可以使用以下方法:
在控制器中添加以下构造函数:
private readonly IUrlHelperFactory _urlHelperFactory;
public MyController(IUrlHelperFactory urlHelperFactory)
{
_urlHelperFactory = urlHelperFactory;
}
然后可以在action中使用以下代码进行重定向:
return Redirect(_urlHelperFactory.GetUrlHelper(ControllerContext).Action("ActionName", "ControllerName"));
或者使用以下代码路由带参数的重定向:
return Redirect(_urlHelperFactory.GetUrlHelper(ControllerContext).Action("ActionName", "ControllerName", new { id = someId }));