在ASP.NET Core 3.1 MVC Web应用程序中,重定向可能不起作用的原因有很多。以下是一些可能的解决方法和代码示例:
RedirectToAction
或Redirect
方法。// 使用RedirectToAction重定向到另一个操作方法
public IActionResult Index()
{
return RedirectToAction("AnotherAction");
}
// 使用Redirect重定向到另一个URL
public IActionResult AnotherAction()
{
return Redirect("/Home/Index");
}
RedirectToAction
时,要指定目标操作方法的名称和控制器名称(如果需要)。// 重定向到另一个控制器的操作方法
public IActionResult Index()
{
return RedirectToAction("Action", "Controller");
}
// 重定向到另一个控制器的默认操作方法
public IActionResult Index()
{
return RedirectToAction("Index", "Controller");
}
Redirect
方法时提供了正确的URL。public IActionResult Index()
{
return Redirect("/Home/AnotherAction");
}
public IActionResult Index()
{
if (!User.Identity.IsAuthenticated)
{
// 用户未通过身份验证,重定向到登录页面
return Redirect("/Account/Login");
}
// 用户已通过身份验证,执行其他操作
return View();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
// 启用HTTPS重定向
app.UseHttpsRedirection();
// ...
}
这些是一些常见的解决方法和代码示例,用于解决ASP.NET Core 3.1 MVC Web应用程序中重定向不起作用的问题。根据您的具体情况,可能需要进行其他调整。