如何用自己的图标显示@item值


@{ foreach (TestMachine item in Model)
{ <tr>
<td>@item.OS</td>
}}

在我的@项目中。操作系统只有两种选择。一is@item.OS=window和@item。OS=云。我想显示If@项目。OS=窗口,然后显示@item。OS&amp;fa-fa窗口图标。如果@item。OS=云,然后显示@item。OS&amp;fa fa-clud图标。

如果item.OS是一个与您想要使用的类名匹配的字符串值,或者它有一个返回相同的ToString()覆盖,您可以直接使用它,而不需要If条件:

<i class="fa fa-@item.OS.ToLower()" />

为了获得更大的灵活性,您可以通过@helper语法添加视图助手。您可以将其添加到视图底部或App_Code文件夹中,以使其在视图中可重复使用。

例如:

@helper GetOSIconClass(string os)
{
if(string.Equals(os, "window", StringComparison.InvariantCultureIgnoreCase))
{
@Html.Raw(""fa fa-window"");
}
else
{
@Html.Raw(""fa fa-cloud"");
}
}

这将使您能够在操作系统中为您的值使用不同的类名(假设您希望它们不同)。在视图中而不是在代码中保留类名之类的东西总是很好的。

如何称之为的一个例子

<i class=@GetOSIconClass(item.OS) aria-hidden="true">

更多信息请点击此处:在ASP。NET网页(Razor)网站

相关内容

最新更新