Я пытаюсь отправить некоторые значения формы, но они кажутся пустыми. Я не могу понять, почему. Я уверен, что это простое решение или просто то, что я пропустил.
Может кто-нибудь, пожалуйста, укажите мне в правильном направлении.
@page
@model WebApp.Pages.LoginModel
@{
ViewBag.Title = "Login";
}
<h2>
Logins
</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div style="border: solid 1px #ccc; padding: 30px 0 30px 30px; border-radius: 5px;
width: 325px; margin: auto; display: table;">
<table>
<tr>
<td valign="top">
@Html.LabelFor(model => model.UserName)
</td>
<td>
@Html.EditorFor(model => model.UserName)
<div style="height: 20px;">
@Html.ValidationMessageFor(model => model.UserName)
</div>
</td>
</tr>
<tr>
<td valign="top">
@Html.LabelFor(model => model.Password)
</td>
<td>
@Html.EditorFor(model => model.Password)
<div style="height: 20px;">
@Html.ValidationMessageFor(model => model.Password)
</div>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Login" />
</td>
</tr>
</table>
</div>
}
Вот моя страничка
namespace WebApp.Pages
{
public class LoginModel : PageModel
{
[Required(ErrorMessage = "Please enter user name.")]
[Display(Name = "User Name")]
public string UserName { get; set; }
[Required(ErrorMessage = "Please enter password.")]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
private SqlEntreprenörData<Entreprenör> _repository;
public LoginModel(SqlEntreprenörData<Entreprenör> repository)
{
_repository = repository;
}
[HttpPost]
public ActionResult OnPost()
{
if (ModelState.IsValid)
{
if(_repository.Login(UserName, Password))
{
return RedirectToPage("/Admin/Avbokningar");
}
}
return Page();
}
}
}
А вот мой метод, который получает пользователя из БД. Здесь имя пользователя и пароль, отправленные с бритвенной страницы, всегда имеют значение null?
public bool Login(string username, string password)
{
var user = (from userlist in _dbContext.Entreprenör
where userlist.Namn == username && userlist.Password == password
select new
{
userlist.Id,
userlist.Namn
}).ToList();
if (user.FirstOrDefault() != null)
{
return true;
}
else
{
return false;
}
}