Как я буду использовать оператор If ..... Else в MVC - PullRequest
0 голосов
/ 29 мая 2020

Мне нужно использовать оператор If перед div, если условие выполнено go через div else go к следующему условию, например:

@model IEnumerable<AljawdahNewSite.Models.Orders_Tables>
@{
    ViewBag.Title = "Details1";
    Layout = "~/Views/Shared/_LayoutPatients.cshtml";

}

@if (Models.Orders_Tables.labCashView.Department_id in (1,2,3,4)) 
{
  <div> 
   // code here 
  </div>
}
else if (Models.Orders_Tables.labCashView.Department_id == 5) 
{
  <div> 
   // code here 
  </div>
}
else if (Models.Orders_Tables.labCashView.Department_id == 6) 
{
  <div> 
   // code here 
  </div>
}

Проблема, когда я пытаюсь вызвать модель ее не показывать название модели, как это

@ if (Model. здесь не отображается название модели или название таблицы, почему?

1 Ответ

1 голос
/ 29 мая 2020

Обновите свой код, как показано ниже, и он должен работать.

Вот изменения.

  1. Добавлено var ids = new List<int>() { 1, 2, 3, 4 };, которое используется для преобразования вашего условия в проверку in (1,2,3,4) с ids.Contains(Models.Orders_Tables.labCashView.Department_id)
  2. Используется == в обоих условиях else if для compare.
  3. Ваш Department_id может быть int?, поэтому вы получаете ошибку cannot convert from int? to int. Используйте GetValueOrDefault(), чтобы получить значение int.

@model IEnumerable<AljawdahNewSite.Models.Orders_Tables>
@{
    ViewBag.Title = "Details1";
    Layout = "~/Views/Shared/_LayoutPatients.cshtml";
    var ids = new List<int>() { 1, 2, 3, 4 };
}

@if (ids.Contains(Model.First().labCashView.Department_id.GetValueOrDefault())) 
{
  <div> 
   // code here 
  </div>
}
else if (Model.First().labCashView.Department_id == 5) 
{
  <div> 
   // code here 
  </div>
}
else if (Model.First().labCashView.Department_id == 6) 
{
  <div> 
   // code here 
  </div>
}
...