首页 > 解决方案 > RedirectToAction 正在返回 HTML 内容

问题描述

在 ASP.NET MVC 中,我正在尝试实现用户身份验证。凭据存储在 SQL 表中。

我有一个登录页面,当用户输入凭据时,我正在调用此处显示的 JavaScript 函数。它不是重定向到主页,而是返回主页的 html 内容。我可以知道我做错了什么吗?

$("#btnsubmit").click(function () {
    $('#lblvalidationmsg').text("");
    var username = $('#txtuserId').val();
    var password = $('#txtpassword').val();
    if (username != "" && password != "") {

      var LoginInfo = {};
      LoginInfo.UserName = username;
      LoginInfo.Password = password;
      LoginInfo.RedirectURL = getParameterByName("redirecturl");

      $.ajax({
        url: '/Users/IsValidUser',
        method: 'POST',
       // url: '@Url.Action("IsValidUser", "Users")',
       // datatype: "html",
        //contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(LoginInfo),
        success: function (data) {
          if (data == "True") {
            $('#lblvalidationmsg').text("Sucess");
          }
          else {
            $('#lblvalidationmsg').text("Invalid User Name or Password.");
          }
        },
        error: function (jqXHR) {
          $('#divErrorText').text(jqXHR.responseText);
          $('#divError').show('fade');
        }
      });
    }
});

我的控制器方法。

[AllowAnonymous]
[HttpPost]
public ActionResult IsValidUser(LoginInfo loginInfo)
{
  bool isvalid = false;
  try
  {
    userhelper = new UserHelper();
    isvalid = userhelper.IsValidUser(loginInfo.UserName, loginInfo.Password);
    if (isvalid)
    {
      System.Web.Security.FormsAuthentication.SetAuthCookie(loginInfo.UserName, false);
      if (string.IsNullOrEmpty(loginInfo.RedirectURL))
      {
        return RedirectToAction("Index", "Home");
      }
    }
  }
  catch(Exception ex)
  {

  }
   return RedirectToAction("Login");
}

}

标签: asp.net-mvc

解决方案


推荐阅读