Как установить ширину HTML-помощника TextBox в ASP.NET MVC?
Некоторые примеры, которые я обнаружил, что, по-видимому, работали со старыми версиями mvc, предполагают, что существует параметр длины sort:
<%=Html.TextBox("test", 50)%>
Но это могло ошибочно установить значение.
Как это работает в текущей версии? Прохождение в стиле не имеет никакого эффекта.
Ответы
Ответ 1
Оригинальный ответ больше не работает как написано:
<%=Html.TextBox("test", new { style="width:50px" })%>
вы получите текстовое поле с "{style =" width: 50px "}" в качестве его текстового содержимого.
Чтобы отрегулировать это для текущей версии MVC 1.0, используйте следующий script (обратите внимание на добавление второго параметра - у меня есть начальный пуск, отрегулируйте его в соответствии с вашими потребностями):
<%=Html.TextBox("test", "", new { style="width:50px" })%>
Ответ 2
Для этого вам нужно использовать HtmlAttributes, но есть catch: HtmlAttributes и класс css.
вы можете определить его следующим образом:
new { Attrubute="Value", AttributeTwo = IntegerValue, @class="className" };
и вот более реалистичный пример:
new { style="width:50px" };
new { style="width:50px", maxsize = 50 };
new {size=30, @class="required"}
и, наконец, в:
MVC 1
<%= Html.TextBox("test", new { style="width:50px" }) %>
MVC 2
<%= Html.TextBox("test", null, new { style="width:50px" }) %>
MVC 3
@Html.TextBox("test", null, new { style="width:50px" })
Ответ 3
Что-то вроде этого должно работать:
<%=Html.TextBox("test", new { style="width:50px" })%>
Или лучше:
<%=Html.TextBox("test")%>
<style type="text/css">
input[type="text"] { width:50px; }
</style>
Ответ 4
Я-сильно рекомендую построить свой HtmlHelpers. Я думаю, что код apsx будет более читабельным, надежным и долговечным.
Следуйте по ссылке;
http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx
Ответ 5
Не используйте параметр длины, поскольку он не будет работать со всеми браузерами. Лучший способ - установить стиль для входного тега.
<input style="width:100px" />
Ответ 6
Мой реальный образец для MVC 3 находится здесь:
<% using (Html.BeginForm()) { %>
<p>
Start Date: <%: Html.TextBox("datepicker1", DateTime.Now.ToString("MM/dd/yyyy"), new { style = "width:80px;", maxlength = 10 })%>
End Date: <%: Html.TextBox("datepicker2", DateTime.Now.ToString("MM/dd/yyyy"), new { style = "width:80px;", maxlength = 10 })%>
<input type="submit" name="btnSubmit" value="Search" />
</p>
<% } %>
Итак, мы имеем следующее
"datepicker1" - идентификатор элемента управления
DateTime.Now.ToString( "MM/dd/yyyy" ) - значение по умолчанию
style = "width: 80px;" - ширина текстового поля
maxlength = 10 - мы можем ввести только 10 символов
Ответ 7
new {style = "width: 50px", maxsize = 50};
должен быть
new {style = "width: 50px", maxlength = 50};
Ответ 8
Установить текстовое поле с maxlength в mvc3.0
@Html.TextBoxFor(model => model.SearchUrl, new { style = "width:650px;",maxlength = 250 })