没有显示错误但在 RedirectToAction 后仍未加载视图

Showing no error but still not loading a view after RedirectToAction

我在 asp.net mvc

中有一个应用程序

我有一个名为 LoginController 的控制器,它有两个操作方法

  1. 索引
  2. loginCheck(用户名, 密码)

两个returnActionResult

具有登录表单的索引操作 return 视图。

//代码

public class LoginController : Controller
{
    public ActionResult Index()
    {
        return view();
    }
}

当用户单击登录表单上的登录按钮时,使用 ajax 调用调用 loginCheck 操作方法。

WithIn loginCheck 我正在检查用户名和密码是否正确 我正在使用创建会话 Session["User"] = Usernamereturn RedirectToAction("Index", "Configuration");

//这里是代码

public class LoginController : Controller
{
    [HttpPost]
    public ActionResult loginCheck(string UserName, string Password)
    {

        Getting user Id and password

        Checking

        If(correct)
        Then
            Session["User"] = Username;

            return RefirectToAction("Index", "Cobfiguration");
        Else
            return RedirectToAction("Index");
    }
}

在上面一行之后,控件转到 Index 配置控制器的操作方法。

它检查会话是否存在然后做一些事情和return配置操作方法索引的视图与配置模型对象中的数据class,如果会话不存在则只是return 基本上加载登录表单的登录索引操作。

if (Session["User"] != null)
{
      //do stuff
       return view(modelObject);
}
else
{
      return RedirectToAction("Index", "Login");
}

所以问题是 controller 正在转移到配置控制器的索引方法,代码正在执行所有内容甚至 return view(modelObject); 但是配置索引的视图没有显示。我不明白为什么。

有什么可以告诉的吗?

当您使用 AJAX 调用该方法时,整个过程无需重新加载页面即可发生。一切都按预期执行,但页面没有重新加载。您需要在 AJAX 调用的回调中处理重定向,或者只同步发送 POST 请求。