如何限制MVC中文本框中的字符长度?

时间:2009-12-18 14:51:36

标签: c# .net asp.net html asp.net-mvc

我想在MVC中将文本框限制为10个字符。

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

我知道你可以在.net中设置Max Length属性。如何使用以这种方式生成的文本框在MVC中执行此操作?

6 个答案:

答案 0 :(得分:13)

你需要设置一些html属性...... 类似的东西:

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

答案 1 :(得分:3)

以纯HTML格式执行:

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

null参数是因为您不想要默认值...)

答案 2 :(得分: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" }

答案 3 :(得分:1)

使用获取Html属性的overload of the TextBox method

Html.TextBox( "polNum", "value", new { maxlength="10" } );

答案 4 :(得分:1)

使用html下方设置TextBox的最大长度 在Html.TextBox中,第二个参数是textbox的值所以,你可以传递“”或null

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

答案 5 :(得分:0)

@ Html.EditorFor(model => model.Telephone,新的{htmlAttributes =新的{@class =“ form-control”,@maxlength =“ 10”}})

在这里,我使用html.Editor(不使用Textboxfor),并且我使用数据库中的电话号码字段。我不希望用户键入十个以上的电话号码。