MVC BeginForm没有到达Controller

时间:2017-09-21 12:32:38

标签: asp.net-mvc

我有一个Login-Form,它应该使用我的LoginControler。如果我发布我的表单,我会得到一个"无法找到资源。"错误。

我研究过,但在我看来,代码应该像这样工作。也许我有一些路由问题?但实际上我没有对我的MVC项目进行任何配置。它是默认的MVC 5项目。

这是我的控制器:

public class LoginController : Controller
{
    [HttpPost]
    public ActionResult Login(UserLoginModel m)
    {


        return View();
    }
}

这是表格:

@using cxWeb.Controllers
@model cxWeb.Models.UserLoginModel


@using (Html.BeginForm("Login", "LoginController", FormMethod.Post, new { @id = "LoginForm", @enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <div class="modal-body">
        <fieldset>
            <div class="form-group">
                @Html.TextBoxFor(model => model.nickname, new { @class = "form-control-form", @placeholder = "Nickname", @tabindex = "1" })
            </div>
            <div class="form-group">
                @Html.PasswordFor(model => model.password, new { @class = "form-control-form", @placeholder = "Password", @tabindex = "2" })
            </div>
            <div class="row">
                <div class="col-md-6">
                    <div class="checkbox">
                        <label>
                            <input type="checkbox"> Keep login
                        </label>
                    </div>
                </div>
            </div>
        </fieldset>
    </div>
    <div class="modal-footer">
        <div class="row">
            <div class="col-sm-6 text-left">
                <button type="submit" class="btn btn-primary">Login</button>
            </div>
            <div class="col-sm-6 text-right">
                <button type="button" class="btn btn-secondary" data-dismiss="modal" data-toggle="modal" data-target="#SignUpModal">Sign up</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal" data-toggle="modal" data-target="#ForgotPasswordModal">Forgot password</button>
            </div>
        </div>
    </div>
}

这是我的模特:

public class UserLoginModel
{
    [Required]
    public string nickname { get; set; }
    [Required]
    public string password { get; set; }
}

这是我的项目:

My project

发布后,我将重定向到此网址:

http://localhost:1853/LoginController/Login

任何人都知道我做错了什么? 感谢您的阅读

1 个答案:

答案 0 :(得分:3)

试试这个。将LoginController更改为Login。

@using (Html.BeginForm("Login", "Login", FormMethod.Post, new { @id = "LoginForm", @enctype = "multipart/form-data" }))