如何在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;
}
如何为一个字段(文本框)覆盖此行为
答案 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"}