2011-03-30 42 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 +‘;’

我覺得