你如何设置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 })