Установка maxlength и других атрибутов html с использованием вспомогательных методов ASP.NET MVC - PullRequest
7 голосов
/ 28 января 2009

В настоящее время, когда я хочу установить атрибуты html, такие как maxlength и autocomplete, я должен использовать следующий синтаксис:

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

Есть ли способ сделать это без явной установки части ViewData ["username"]? Другими словами, я хочу полагаться на процедуру автоматической загрузки вспомогательного метода, вместо того, чтобы явно указывать ему, какое поле загружать из ViewData.

Ответы [ 4 ]

25 голосов
/ 28 января 2009

Просто передайте «ноль» в качестве второго параметра:

<%= Html.TextBox("username", null, new { maxlength = 20, autocomplete = "off" }) %>
0 голосов
/ 02 ноября 2016

Для установки максимальной длины TextBox вы можете передать "" или null для второго параметра и установить атрибуты html (maxlength) в качестве третьего параметра

<%=Html.TextBox("username", "", new { @maxlength = 10 }) %>
0 голосов
/ 29 января 2009

Я использовал конструкцию, как показано ниже:

<%= Html.TextBox("username", "", new { @maxlength = "20", @autocomplete = "off" }) %>
0 голосов
/ 28 января 2009

да, но вы должны использовать ViewData.Model вместо ViewData.Item ()

код в вашем контроллере должен выглядеть следующим образом (sry 4 VB.NET code)

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})%>

обратите внимание, что объект пользователя имеет публичное свойство username

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...