首页 > 解决方案 > @Html.DisplayFor 强类型辅助类

问题描述

我正在尝试根据数据显示不同的消息,例如 if Isonline ==True 然后在 View 'Online' 上显示 else 'Offline'

代码

@foreach (var item in Model)
{
   @Html.DisplayFor(m => item.ApplicationUsers.IsOnline_A)
}

但我想改变它

@foreach (var item in Model)
{
   @Html.DisplayFor(m => item.ApplicationUsers.IsOnline_A) == true
<span> Online<span>
}
else{
<span> Offline<span>
}

怎么做的??谢谢 :)

标签: asp.netrazor

解决方案


您可以添加if条件并检查属性值并有条件地呈现您的跨度

@foreach (var item in Model)
{
   if(item.ApplicationUsers.IsOnline_A)
   {
       @:<span> Online<span>
   }
   else
   {
       @:<span> Offline<span>
   }
}

@:表达式允许我们在 C# 代码块中混合纯文本/html。另一种选择是使用<text>块来包装你的 text/html 内容。

@foreach (var item in Model)
{
   if(item.ApplicationUsers.IsOnline_A)
   {
       <text><span> Online<span></text>
   }
   else
   {
       <text><span> Offline<span></text>
   }
}

假设IsOnline_A是一个布尔类型的属性。


推荐阅读