代码之家  ›  专栏  ›  技术社区  ›  MrM

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

  •  8
  • MrM  · 技术社区  · 15 年前

    我想在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中使用这种方式生成的文本框来实现这一点?

    5 回复  |  直到 6 年前
        1
  •  13
  •   Paul    15 年前

    您需要设置一些HTML属性… 类似:

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

    祝你好运

        2
  •  3
  •   Tomas Aschan    15 年前

    以纯HTML格式执行:

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

    (The null 参数是因为您不需要默认值…)

        3
  •  2
  •   Will    15 年前
    <%=Html.TextBox("polNum", new { maxlength = 10 }) %>
    

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

    htmlhelper使用反射来检查匿名类型。在本例中,它将类型的字段转换为文本框控件上的属性。生成的HTML看起来像

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

    可以使用匿名类型添加其他相关属性,例如

    new { @class = "MyCssClass", type = "password", value="HurrDurr", 
          textmode="multiline" }
    
        4
  •  1
  •   Canavar    15 年前

    使用 overload of the TextBox method 获取HTML属性:

    Html.TextBox( "polNum", "value", new { maxlength="10" } );
    
        5
  •  1
  •   Nayan Godhani    8 年前

    使用下面的HTML设置文本框的最大长度 在html.textbox中,第二个参数是textbox的值,因此可以传递“”或null

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