В моей модели есть переменная bool, и я хочу ее проверить. Если это правда, я хочу показать пользователям определенные HTML, и те, которые имеют это ложь, другие HMTL. Модель пользователя - это место, где хранится вся информация о пользователе. Ключи Модель - это место, где хранятся данные таблицы.
модель представления:
public partial class User
{
public bool Addon { get; set; }
}
Я пытаюсь вставить оператор if в представление _NavBar
. Код выглядит следующим образом:
@model Vidly2.Models.User
@{
ViewBag.Title = "Home Page";
bool admin = Model.Addon;
}
@if (admin)
{
*HTML Code*
}
else
{
*HTML Code*
}
Метод публикации:
[HttpPost]
public ActionResult Autherize(Vidly2.Models.User userModel)
{
using (LoginDataBaseEntities db = new LoginDataBaseEntities())
{
var userDetails = db.Users.Where(x => x.Email == userModel.Email && x.Password == userModel.Password).FirstOrDefault();
if (userDetails == null)
{
userModel.LoginErrorMessage = "Wrong username or password.";
return View("Index", userModel);
}
else {
Session["userID"] = userDetails.Email;
return RedirectToAction("Index", "Keys");
}
}
return View();
}
Я получаю следующую ошибку:
Сведения об исключении: System.InvalidOperationException: Элемент модели, передаваемый в словарь, имеет тип 'System.Collections.Generi c .List`1 [Vidly2.Models.VblyyKeyy]', но для этого словаря требуется элемент модели типа 'Vidly2.Models.User'.
Ошибка источника:
Line 9: </head>
Line 10: <body>
Line 11: @Html.Partial("_NavBar")
Line 12: <div class="container body-content">
Line 13: @RenderBody()
Как изменить оператор if для работы? Есть ли проблемы с типами?
Спасибо за решение проблемы.