2011-03-30 44 views
3

我想这样做如何做asp.net MVC 3剃须刀内联样式的HTML辅助

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

Hoever它不会呈现什么是我Mode.Background颜色(萤火我只是请参阅@ bModel.BackgroundColor“)。这可能吗?

回答

10

你已经是一个代码块内;剃刀不为其他代码块的代码块中解析线的样式的一部分。应该是这个样子:。

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

反正用了接触做到这一点使得它更长,不干净,因为我想我得对颜色做同样 – chobo2 2011-03-30 03:22:53

+0

你可以用'的String.Format( ..)',这将减少在你的代码中完成的实际连接数量,如果合理,你也可以使用CSS类而不是内联样式,这样就可以j ust看起来像这样:'@class = Model.CssClass'。在这种情况下,'@'符号是C#符号,用于转义'class'关键字,它与Razor视图无关。 – 2011-03-30 12:16:25

+0

我想我会尝试String.Format。我通常会创建一个类,但是根据用户设置的内容,表中的每一行都会更改BackGround颜色。所以这似乎是更简单的方法。 – chobo2 2011-03-30 16:23:21

1

你应该连接你的字符串,如 ”width:20px;背景色:“+ Model.BackgroundColor +‘;’

我觉得