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

时间:2009-01-28 10:44:36

标签: asp.net-mvc

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

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

有没有办法在不必明确设置ViewData [“username”]部分的情况下执行此操作?换句话说,我想依赖于辅助方法的自动加载例程,而不是必须明确告诉它从ViewData加载哪个字段。

4 个答案:

答案 0 :(得分:25)

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

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

答案 1 :(得分:0)

是的,但您必须使用ViewData.Model而不是ViewData.Item()

控制器中的代码应如下所示(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})%>

请注意,用户对象具有公共属性用户名

HTH

答案 2 :(得分:0)

我使用如下构造:

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

答案 3 :(得分:0)

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

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