我有一个foreach遍历剃刀语法中的项目,
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.ColorCode)
</td>
<td>
<div style="background-color:*************"> </div>
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.ID }) |
@Html.ActionLink("Details", "Details", new { id = item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
</td>
</tr>
}
ColorCode是一个int值
,我定义了一个名为IntToColorHex的外部函数,将ColorCode转换为等效的十六进制值,我想根据ColorCode为每行用十六进制颜色值替换**************,我需要一些东西像下面这样:
<div style="background-color:IntToColorHex(@item.ColorCode)"> </div>
最佳答案
您不能从样式属性调用js函数,所以这一行
<div style="background-color:IntToColorHex(@item.ColorCode)"> </div>
只是渲染成类似
<div style="background-color:IntToColorHex(100000)"> </div>
但是您可以使用简单的ToString with hexadecimal ("X") format specifier之类的
<div style="background-color:#@item.ColorCode.ToString("X6")"> </div>