没有显示错误,但在RedirectToAction

时间:2019-04-10 11:12:56

标签: c# .net asp.net-mvc asp.net-mvc-4

我在asp.net mvc中有一个应用程序

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

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

均返回ActionResult

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

//代码

public class LoginController : Controller
{
    public ActionResult Index()
    {
        return view();
    }
}
当用户单击登录表单上的登录按钮时,

loginCheck操作方法将使用ajax调用来调用。

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操作方法。

它检查会话是否存在,然后填充并返回配置操作方法索引视图,并在Configuration模型类的对象中返回数据;如果会话不存在,则仅返回登录索引操作,该操作基本上会加载登录表单。

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

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

任何人都可以告诉吗?

1 个答案:

答案 0 :(得分:1)

使用AJAX调用方法时,整个过程会在不重新加载页面的情况下发生。一切都按预期执行,但页面未重新加载。您需要在AJAX调用的回调中处理重定向,或者仅同步发送POST请求。