你如何设置ASP.NET MVC中的HTML助手文本框的宽度?

我发现一些例子,显然与老版本的mvc一起工作,表明有一个长度参数的sorting:

<%=Html.TextBox("test", 50)%> 

但是这可能是错误地设定了价值。

这在当前版本中如何工作? 通过风格似乎没有任何影响。

原来的答案不再是书面的工作:

 <%=Html.TextBox("test", new { style="width:50px" })%> 

会给你一个带有“{style =”width:50px“}”的文本框作为它的文本内容。

为了调整MVC 1.0的当前版本,请使用以下脚本(注意添加了第二个参数 – 我的空白开始,根据您的需要进行相应的调整):

 <%=Html.TextBox("test", "", new { style="width:50px" })%> 

为此,您必须使用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" }) 

像这样的东西应该工作:

 <%=Html.TextBox("test", new { style="width:50px" })%> 

或更好:

 <%=Html.TextBox("test")%> <style type="text/css"> input[type="text"] { width:50px; } </style> 

我强烈推荐build立你的HtmlHelpers。 我认为apsx代码将更具可读性,可靠性和持久性。

按照链接; http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx

不要使用长度参数,因为它不适用于所有浏览器。 最好的方法是在input标签上设置样式。

 <input style="width:100px" /> 

我真正的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” – 控件的ID

DateTime.Now.ToString(“MM / dd / yyyy” ) – 默认值

style =“width:80px; ” – 文本框的宽度

maxlength = 10 – 我们只能input10个字符

new {style =“width:50px”,maxsize = 50};

应该

new {style =“width:50px”,maxlength = 50};

用mvc3.0设置文本框和maxlength

 @Html.TextBoxFor(model => model.SearchUrl, new { style = "width:650px;",maxlength = 250 })