我在cshtml视图中有一个元素,并生成可生成随机颜色的代码。无论我尝试什么,我都无法使其正常工作。完全使用@符号可删除color属性的突出显示(我假设这是一个指示符,将无法使用)

@using(//using code for accessing database)
 {
    //code to make query
    Random rnd = new Random();
    Color randomColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));
    //other code

    //displaying information
    <p style="color: @randomColor">@db.item</p>
}

最佳答案

首先,将color调用为字符串将返回类似“ Color [A = 255,R = 6,G = 86,B = 171]”的内容,因此它将不起作用。

相反,您需要获取十六进制表示形式或使用RGB声明

现在,假设您尝试输出p标签,当您位于代码块中时,可以使用@ Html.Raw

 @Html.Raw("<p style='color: #" + randomColor.R.ToString("x2") + randomColor.G.ToString("x2") + randomColor.B.ToString("x2")  + "'>" + db.item + "</p>");


使用rgb,您可以执行以下操作:

@Html.Raw("<p style='color: rgb(" + randomColor.R + "," randomColor.G "," + randomColor.B +")'>" + db.item + "</p>");

07-24 17:34