我发现的一些例子显然与旧版本的mvc一起工作表明存在一个长度参数:
<%=Html.TextBox("test", 50)%>
但这可能错误地设定了价值。
这在当前版本中如何运作?传递风格似乎没有任何效果。
答案 0 :(得分:65)
原来的答案不再按照书面形式运作:
<%=Html.TextBox("test", new { style="width:50px" })%>
将为您提供一个文本框,其中包含“{style =”width:50px“}”作为文本内容。
要针对当前版本的MVC 1.0进行调整,请使用以下脚本(请注意添加第二个参数 - 我将其作为空白开始,根据您的需要进行相应调整):
<%=Html.TextBox("test", "", new { style="width:50px" })%>
答案 1 :(得分:41)
为此你必须使用 HtmlAttributes ,但有一个问题:HtmlAttributes and css class 。
您可以这样定义:
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" })
答案 2 :(得分:6)
这样的事情应该有效:
<%=Html.TextBox("test", new { style="width:50px" })%>
或更好:
<%=Html.TextBox("test")%>
<style type="text/css">
input[type="text"] { width:50px; }
</style>
答案 3 :(得分:2)
我 - 强烈 - 建议建立你的Html助手。我认为aspx代码更具可读性,可靠性和耐用性。
点击链接; http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx
答案 4 :(得分:1)
请勿使用length参数,因为它不适用于所有浏览器。最好的方法是在输入标记上设置样式。
<input style="width:100px" />
答案 5 :(得分:1)
我的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 - 我们只能输入10个字符
答案 6 :(得分:0)
new {style =“width:50px”,maxsize = 50};
应该是
new {style =“width:50px”,maxlength = 50};
答案 7 :(得分:0)
使用和maxlength在mvc3.0中设置文本框
@Html.TextBoxFor(model => model.SearchUrl, new { style = "width:650px;",maxlength = 250 })