繁体   English   中英

在razor中使用javascript转换模型属性值

[英]convert model property value with javascript in razor

我有一个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:*************">&nbsp;&nbsp;&nbsp;</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)">&nbsp;&nbsp;&nbsp;</div>

您不能从样式属性调用js函数,所以这一行

<div style="background-color:IntToColorHex(@item.ColorCode)">&nbsp;&nbsp;&nbsp;</div>

只是渲染成类似

<div style="background-color:IntToColorHex(100000)">&nbsp;&nbsp;&nbsp;</div>

但是您可以将简单的ToString与十六进制(“ X”)格式说明符一起使用

<div style="background-color:#@item.ColorCode.ToString("X6")">&nbsp;&nbsp;&nbsp;</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM