按钮无法在 mvc 4 中触发

button cannot trigger in mvc 4

我在 ASP.NET MVC4 中遇到了一些问题 - 当我单击“登录”按钮时,它没有点击我的控制器并且没有登录

这是我的 .cshtml 中的代码

@using System.Linq

<body>
    <div class="container">
        @using (Html.BeginForm("Login", "Login", FormMethod.Post, new { @Class = "form-signin", enctype = "multipart/form-data" }))
        {
            @Html.AntiForgeryToken()
            @Html.ValidationSummary(true, "Login failed. Check your login details.")
            <img class="img-responsive" src="~/Images/PI%20Logo.jpg" />
            @Html.TextBoxFor(m => m.userName, new {@Class = "form-control", @Id = "user", @placeholder = "Username"})
            @Html.ValidationMessageFor(m => m.userName)
            @Html.PasswordFor(p => p.passwd, new {@Class = "form-control", @Id = "pass", @placeholder = "Password"})
            @Html.ValidationMessageFor(m => m.passwd)
            <!--<input class="form-control" id="username" placeholder="Username" type="text" />
            <input class="form-control" id="Password1" placeholder="Password" type="password" /> -->
            <input id="submit" class="btn btn-lg btn-primary btn-block" type="button" value="LOGIN" />
        }
    </div>

    <script src="~/Scripts/jquery-1.11.2.min.js"></script>
    <script src="~/Scripts/bootstrap.min.js"></script>
</body>

这是我的控制器

public class LoginController : Controller
{
    //
    // GET: /Login/

    public ActionResult Login()
    {
        return View();
    }

    [ValidateAntiForgeryToken]
    [HttpPost]
    public ActionResult Login(Login login)
    {
        AccountManagement am = new AccountManagement();
        var xrm = new XrmServiceContext("Xrm");

        SystemUser sysUser = xrm.SystemUserSet.Where(x => x.DomainName == "hc\" + login.userName && x.IsDisabled == false).FirstOrDefault();

        if (am.ValidateCredentials(login.userName, login.passwd) == "True" && sysUser != null)
        {
            Session["username"] = login.userName;
            return RedirectToAction("MainHome", "MainMenu");//Request.CreateResponse(HttpStatusCode.OK, new { Message = "Success", User = sysUser });
        }
        else
        {
            ModelState.AddModelError("", "Login data is incorrect!");//Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Username or Password Invalid");
        }
        return View(login);
    }

}

我的代码有什么问题 - 我很困惑,因为很多教程都像这样进行了简单的登录,但它确实有效

更改按钮类型以提交

<input id="submit" class="btn btn-lg btn-primary btn-block" type="submit" value="LOGIN" />

输入类型按钮和提交之间的区别

<input type="button" /> 

按钮不会提交表单 - 默认情况下它们什么都不做。它们通常作为 AJAX 应用程序的一部分与 JavaScript 结合使用。

<input type="submit">

按钮将在用户单击它们时提交它们所在的表单,除非您使用 JavaScript 另行指定。