asp.net-mvc如何更改宽度Html.TextBox

时间:2009-06-30 13:36:42

标签: asp.net-mvc textbox

如何在asp.net-mvc View

中更改文本框的宽度

我希望将这些字段并排放置,并且状态文本框的宽度要短得多

            <p>
                <label for="city">City:</label>
                <%= Html.TextBox("city")%>
                <label for="state">State:</label>
                <%= Html.TextBox("state")%>
            </p>

修改

以下答案似乎都不适合我。我注意到在site.css中我看到了这个:

fieldset p 
{
    margin: 2px 12px 10px 10px;
}

fieldset label 
{
    display: block;
}

fieldset label.inline 
{
    display: inline;
}

legend 
{
    font-size: 1.1em;
    font-weight: 600;
    padding: 2px 4px 8px 4px;
}

input[type="text"] 
{
    width: 200px;
    border: 1px solid #CCC;
}

input[type="password"] 
{
    width: 200px;
    border: 1px solid #CCC;
}

如何为一个字段(文本框)覆盖此行为

5 个答案:

答案 0 :(得分:32)

我会使用带有HTML属性的helper签名并为其指定一个CSS类。然后,您将使用CSS来实现所需的外观。

 <%= Html.TextBox( "state", null, new { @class = "small-input" } ) %>

答案 1 :(得分:21)

<%= Html.TextBox("state", null, new { @style = "width: 300px;" })%>

答案 2 :(得分:1)

CSS

.yourcssclassname{width:50px;}

HTML

<%= Html.TextBox("city", null, new{@class="yourcssclassname"})%>
应该这样做......你显然也可以发送一个样式属性,但是css类是一个更好的选择路径。

string.Empty表示默认值。

编辑:请参阅tvanfosson的帖子

修正答案,以解决评论中提到的问题。

答案 3 :(得分:0)

您可以使用TextBox助手向textboxFor实例添加任意属性:


<%= Html.TextBox( "state", null, new { size = "10" } ) %>

将呈现如下内容:


<input type="text" name="state" size="10" />

答案 4 :(得分:0)

如果使用VS附带的默认MVC模板。在文本框的html属性中明确指定一个类似乎不会覆盖Site.css,但是,内联样式确实有效。所以:

{@style= "width: 400px;"} 

会起作用,而这不会:

{@class="myclass"}