如何在ASP.NET MVC中设置HTML Helper TextBox的宽度?

时间:2008-11-27 21:06:44

标签: asp.net-mvc

我发现的一些例子显然与旧版本的mvc一起工作表明存在一个长度参数:

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

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

这在当前版本中如何运作?传递风格似乎没有任何效果。

8 个答案:

答案 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 })