首页 > 解决方案 > 如果数据库中存在记录,则执行条件

问题描述

我的 SQL Server 数据库中有一个包含列的表

loginID, loginUser, loginPassword

使用实体框架,我想检查给定的记录是否存在。我正在使用带有 AJAX 的 ASP.NET MVC 将数据发送到我的控制器方法。

$("#loginBtn").click(function () {
    var loginUserRequest = $("#email").val();
    var loginPassRequest = $("#pwd").val();

    var loginTheUser = {
        loginID: 1,
        loginUser: loginUserRequest,
        loginPassword: loginPassRequest
    }

    $.ajax({
        type: "POST",
        url: "Home/LoginUser",
        data: loginTheUser
    });

});

[HttpPost]
public ActionResult LoginUser(loginTable loginData)
{
    WebEntities entit = new WebEntities();
    var context = entit.loginTables.FirstOrDefault(lu => lu.loginUser == loginData.loginUser && lu.loginPassword == loginData.loginPassword);

    if (context == null)
    {
        return View();
    }
    else
    {
        return RedirectToAction("Contact", "Home");
    }
}

<form id="loginForm">
    <div class="form-group">
        <label>Username:</label>
        <input type="text" class="form-control" id="email">
    </div>
    <div class="form-group">
        <label>Password:</label>
        <input type="password" class="form-control" id="pwd">
    </div>
    <button id="loginBtn" type="submit" class="btn btn-default">Submit</button>
</form>

标签: jqueryajaxasp.net-mvcentity-framework

解决方案


我假设问题是你的return viewredirectToAction不工作?您正在进行 Ajax 调用,但没有正确处理返回给 ajax 调用的结果。

尝试这样的事情。 我没有测试它,你可能不得不玩它

[HttpPost]
public ActionResult LoginUser(loginTable loginData)
{
    WebEntities entit = new WebEntities();
    var context = entit.loginTables.FirstOrDefault(lu => lu.loginUser == loginData.loginUser && lu.loginPassword == loginData.loginPassword);

    if (context == null)
    {  
      return new HttpStatusCodeResult(401, "Unauthorized!"); 
    }
    else
    {
        var url = Url.Action("Contact", "Home")
        return Json(url);
    }

}

 $.ajax({
    type: "POST",
    url: "Home/LoginUser",
    data: loginTheUser,
    success: function(response){  
      window.location.replace(response); 
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
      alert("Status: " + textStatus); alert("Error: " + errorThrown); 
    }      
});

推荐阅读