C# 如何在html帮助程序中使用asp.net mvc 3 razor实现内联样式

C# 如何在html帮助程序中使用asp.net mvc 3 razor实现内联样式,c#,asp.net-mvc,asp.net-mvc-3,razor,html-helper,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,Html Helper,我想这样做 @Html.TextBoxFor(x => x.BackgroundColor, new { style = "width: 20px; background-color: @Model.BackgroundColor;" }) 如果它不呈现我模式中的内容。背景色(在firebug中我只看到@bModel.BackgroundColor)。这可能吗?您应该像 “宽度:20px;背景色:“+Model.BackgroundColor+”;" 我认为。您已经在一个代码块内;Raz

我想这样做

@Html.TextBoxFor(x => x.BackgroundColor, new { style = "width: 20px; background-color: @Model.BackgroundColor;" })

如果它不呈现我模式中的内容。背景色(在firebug中我只看到@bModel.BackgroundColor)。这可能吗?

您应该像 “宽度:20px;背景色:“+Model.BackgroundColor+”;"


我认为。

您已经在一个代码块内;Razor不会在代码块内解析其他代码块。行的样式部分应该如下所示:

style = "width: 20px; background-color: " + Model.BackgroundColor + ";"

不管怎么说,如果不与外界接触,它会变得更长,而且不会像我想要的那样干净。我对颜色也要这样做。你可以使用
String.Format(…)
,这将减少代码中实际执行的连接数量。如果合理,您也可以使用CSS类而不是内嵌样式,这样看起来就像:
@class=Model.CssClass
。在这种情况下,
@
符号是一个C符号,用于转义
关键字,它没有任何意义我想我会尝试String.Format。我通常会创建一个类,但表中每一行的背景颜色都会根据用户设置的内容而改变。因此,这似乎是更简单的方法。