【问题标题】:How i will use If.....Else statement in MVC我将如何在 MVC 中使用 If.....Else 语句
【发布时间】:2020-05-29 10:21:20
【问题描述】:

我需要在 div 之前使用 If 语句,如果满足条件则通过 div 否则转到下一个条件,如下所示:

@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.here 它不显示模型名或表名为什么?

【问题讨论】:

  • 还有什么问题? AFAIK C# 没有 in 这样的语法,所以我怀疑这会给你带来问题。
  • @JLRishe ,我不知道这是我想要以这种方式实现的想法。从数据库中获取数据取决于部门
  • 这看起来不错。如果 Razor 认为你的 div 标签是 C#,只需在它前面加上“@:”,它会强制它像 HTML 一样对待它。
  • 此外,else ifModels.Orders_Tables.labCashView.Department_id == 5 之间都应该有 == 用于比较。
  • @JLRishe 当我尝试调用模型时的问题,它不显示模型名称 Orders_Tables 或 labCashView 或列名称,如果(模型。这里它不显示模型名称或表名称)为什么?

标签: c# asp.net-mvc model-view-controller razor


【解决方案1】:

像下面这样更新您的代码,它应该可以工作。

这里是变化。

  1. 添加了var ids = new List&lt;int&gt;() { 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>
}

【讨论】:

  • 我在 First() 之后使用了这个我可以选择表 @if (ids.Contains(Model.First().labCashView.DEPTID)) 但显示错误不能从 int 转换?到int
  • 您的Department_id 可能是int?,这就是您收到错误cannot convert from int? to int 的原因。使用GetValueOrDefault() 检索int 值。也用Model.First()更新了我的答案。
猜你喜欢
  • 2019-04-09
  • 1970-01-01
  • 2022-01-19
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多