Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 使用ASP.NET进行服务器端验证的Ajax登录_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 使用ASP.NET进行服务器端验证的Ajax登录

Asp.net mvc 3 使用ASP.NET进行服务器端验证的Ajax登录,asp.net-mvc-3,Asp.net Mvc 3,我正在编写一个ASP.NET应用程序,它要求用户使用外部API登录到服务器。如果用户输入了无效的登录凭据,我希望他们能够使用Ajax获得即时反馈 我的看法 @using (Ajax.BeginForm("Login", "Login", null, new { id = "login-form" })) { <label> User Name: @Html.TextBox("userName", "", new

我正在编写一个ASP.NET应用程序,它要求用户使用外部API登录到服务器。如果用户输入了无效的登录凭据,我希望他们能够使用Ajax获得即时反馈

我的看法

@using (Ajax.BeginForm("Login", "Login", null, new { id = "login-form" }))
        { 
            <label>
                User Name: @Html.TextBox("userName", "", new { @class = "input" })
            </label>
            <label>
                Password: @Html.Password("password", "", new { @class = "input" })
            </label>
            <input type="submit" class="button" value="Login" />
            <div id="login-validate">Invalid Login!</div>
        }
有没有办法让控制器不切换视图,而是调用jQuery函数来显示错误消息?

只需在else块中返回
view()
。它将重新显示登录页面

    if (RepoConnection.verifyAndBindConn(userName, password))
    {
        return Index(); // Redirect to home page, logged in as new user
    }
    else
    {
        return View(); // TODO: Don't change view
    }

如果您真的希望它是ajaxy,那么您必须更改代码,使其不使用表单/提交按钮,而是通过ajax发送登录凭据,编写会话cookie,并在js代码中处理重定向。

登录页面实际上是母版页上的下拉列表,因此这不是最好的方法。我想我需要研究一下其他的选择。
    if (RepoConnection.verifyAndBindConn(userName, password))
    {
        return Index(); // Redirect to home page, logged in as new user
    }
    else
    {
        return View(); // TODO: Don't change view
    }