AccountController.csНет данных при проведении обследований после
namespace IndividueleOpdracht.Controllers
{
public class AccountController : Controller
{
public ActionResult Login()
{
return View(new Account());
}
[HttpPost]
public ActionResult Login(Account model)
{
if (!ModelState.IsValid) return View();
if (model.Login())
{
return RedirectToAction("Index", "News");
}
return View();
}
}
}
Account.cs
namespace IndividueleOpdracht.Models
{
public class Account
{
[Required]
public string Email;
[Required]
public string Password;
public bool Login()
{
if (Email == "test" && Password == "test")
{
return true;
}
return false;
}
}
}
Login.cshtml
@model IndividueleOpdracht.Models.Account
@using (Html.BeginForm("Login", "Account", FormMethod.Post, new { @class = "form-signin" }))
{
<h2 class="form-signin-heading">Login</h2>
<label for="inputEmail" class="sr-only">Email address</label>
@Html.TextBoxFor(model => model.Email, new { @type = "email", @id = "inputEmail", @class = "form-control", @placeholder = "Email adres" })
<label for="inputPassword" class="sr-only">Wachtwoord</label>
@Html.PasswordFor(model => model.Password, new { @id = "inputPassword", @class = "form-control", @placeholder = "Wachtwoord" })
<div class="checkbox">
<label>
<input type="checkbox" value="remember-me"> Onthoud mij
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>
}
Когда я делаю пост, это говорит параметр модели пустой. Электронная почта - null, а также пароль.
ModelState.IsValid - это правда.
Может кто-нибудь сказать мне, что я делаю неправильно.
Благодаря
Вы не должны указывать '@ id', MVC дает им идентификаторы автоматически. – DLeh
, и вы должны использовать '@ Html.LabelFor()' вместо того, чтобы писать свой собственный – DLeh
Id для ярлыков? Если я удалю идентификаторы, это устранит проблему? – yooouuri