代码之家  ›  专栏  ›  技术社区  ›  Kevin Pang

使用ASP.NET设置maxlength和其他html属性。NET MVC辅助方法

  •  8
  • Kevin Pang  · 技术社区  · 17 年前

    目前,当我想设置html属性(如maxlength和autocomplete)时,我必须使用以下语法:

    <%= Html.TextBox("username", ViewData["username"], new { maxlength = 20, autocomplete = "off" }) %>
    

    是否有任何方法可以在不显式设置ViewData[“username”]部分的情况下做到这一点?换句话说,我想依赖于辅助方法的自动加载例程,而不必显式地告诉它从ViewData加载哪个字段。

    4 回复  |  直到 17 年前
        1
  •  25
  •   veggerby    17 年前

    只需将“null”作为第二个参数传递:

    <%= Html.TextBox("username", null, new { maxlength = 20, autocomplete = "off" }) %>
    
        2
  •  0
  •   marc.d    17 年前

    是的,但您必须使用ViewData。模型而不是ViewData。项目()

    控制器中的代码应该如下(sry 4 VB.NET代码)

    Function Index()
        ViewData("Title") = "Home Page"
        ViewData("Message") = "Welcome to ASP.NET MVC!"
    
        Dim user As New User
    
        Return View(user)
    End Function
    

    现在,您可以在视图中执行此操作

    <%=Html.TextBox("username", Nothing, New With {.maxlength = 30})%>
    

    注意,user对象有一个公共属性用户名

    人酪氨酸羟化酶

        3
  •  0
  •   omoto    17 年前

    我使用了以下结构:

    <%= Html.TextBox("username", "", new { @maxlength = "20", @autocomplete = "off" }) %>
    
        4
  •  0
  •   user3146115 user3146115    9 年前

    对于设置TextBox的最大长度,您可以为第二个参数传递“”或null,并将html属性(maxlength)设置为第三个参数

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