我有一个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; }
}
这是我的项目:
发布后,我将重定向到此网址:
http://localhost:1853/LoginController/Login
任何人都知道我做错了什么? 感谢您的阅读
答案 0 :(得分:3)
试试这个。将LoginController更改为Login。
@using (Html.BeginForm("Login", "Login", FormMethod.Post, new { @id = "LoginForm", @enctype = "multipart/form-data" }))