2009-12-18 66 views
6

我想將文本框限制爲MVC中的10個字符。如何限制MVC中文本框中的字符長度?

<label ID="lbl2" runat="server" Width="20px"></label> 
<%=Html.TextBox("polNum") %>  
<label ID="lbl1" runat="server" Width="10px"></label> 

我知道你可以在.net中設置Max Length屬性。如何在MVC中使用這種方式生成文本框?

+2

爲什麼要使用''?這就是Webforms。這是MVC,使用'

+0

它的工作無論哪種方式,所以我不認爲這是一個問題,但感謝的擡起頭,我會把這個付諸實踐...... – MrM

回答

10

你需要設置一些HTML屬性... 類似:

<%=Html.TextBox("polNum",null, new {maxlength=10}) %> 

好運

+3

其實,你並不需要這個過載。您可以跳過空值並使用雙參數版本。 – Will

3

做在純HTML:

<%= Html.TextBox("polNum", null, new { @maxlength = "25" }) %> 

(該null參數是因爲你不想一個默認值...)

2
<%=Html.TextBox("polNum", new { maxlength = 10 }) %> 

http://msdn.microsoft.com/en-us/library/dd492984.aspx

的HtmlHelper使用反射來檢查匿名類型。它將類型的字段轉換爲屬性,在這種情況下爲TextBox控件。生成的HTML看起來像

<Textbox id="polNum" maxlength =10 /> 

您可以使用匿名類型添加其他相關屬性,如

new { @class = "MyCssClass", type = "password", value="HurrDurr", 
     textmode="multiline" } 
+0

在XHTML所有屬性應該降低套管,如此最大長度代替的MaxLength –

+2

哦,親愛的讓我再修復對不起我造成你的網頁來炸飛。 – Will

2

使用下面的HTML文本框 集最大長度在Html.TextBox第二個參數是爲文本框的值,所以,你可以通過「」或空

<%=Html.TextBox("polNum", "", new { maxlength = 10 }) %>