目前,当我想设置maxlength和autocomplete等html属性时,我必须使用以下语法:
<%= Html.TextBox("username", ViewData["username"], new { maxlength = 20, autocomplete = "off" }) %>
有没有办法在不必明确设置ViewData [“username”]部分的情况下执行此操作?换句话说,我想依赖于辅助方法的自动加载例程,而不是必须明确告诉它从ViewData加载哪个字段。
答案 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 }) %>