2012-12-18 35 views
0

MVC Razor視圖如何控制文本框的寬度和小數位?

Html.EditorFors小數可以Dataannotations控制,但沒有簡單的(如果有的話)的方式來控制寬度(他們不採取htmlAttributes並設置一個CSS類的寬度沒有影響)。

Html.TextBoxFors允許使用htmlAttributes輕鬆控制寬度,但沒有簡單(如果有的話)方法來控制小數位數。

如何獲得可以控制寬度和小數位的編輯文本框?

回答

1

,並設置一個CSS類的寬度沒有影響

我想這是因爲你有一個不正確的CSS選擇器。

例如,你可以這樣做:

<div class="myrule"> 
    @Html.EditorFor(x => x.FooBar) 
</div> 

,然後在你的CSS文件:

.myrule input { 
    width: 200px; 
} 

作爲替代方案,你可以寫一個自定義編輯模板,然後指定這個模板的名稱當使用EditorFor調用時:

@Html.EditorFor(x => x.FooBar, "MyTemplate") 
+0

我錯過了CSS選擇器上的輸入。謝謝 – Joe

0

使用正則表達式來控制小數位。

編寫一個繼承System.ComponentModel.DataAnnotations.RegularExpressionAttribute的自定義屬性,它指定所需的正則表達式來控制小數位數。

然後在viewmodel/model中指定自定義屬性爲所需的字段。