MVC和EditorFor宽度

我可以在View上设置EditorFor控件的宽度吗?

我设置了一些参数:

[Required, DisplayName("Payee Name"), StringLength(50)] public string Name { get; set; } 

但是,我似乎无法设置渲染的文本框的宽度。

 

这可以以某种方式完成吗?

我试过了:

  m.Name, new {width=50)%> 

但没有快乐……

而不是EditorFor,使用TextBoxFor:

 <%=Html.TextBoxFor(m => m.Name, new {style = "width:50px"})%> 

使用CSS设置控件宽度的样式有什么问题?

在mvc 5中,site.css中的设置为所有textareas设置max-width = 200。 这困惑了我,直到我找到这篇博文。 Paul Litwin说: http ://weblogs.asp.net/paullitwin/visual-studio-2013-asp-net-mvc-5-scaffolded-controls-and-bootstrap:

是的,Microsoft出于某种原因将所有输入,选择和textarea控件的最大宽度设置为280像素。 不确定这背后的动机,但是直到你通过将表单控件分配给其他CSS类来改变它或覆盖它,你的控件永远不能超过280px。

 /* Set width on the form input elements since they're 100% wide by default */ input, select, textarea { max-width: 280px; } 

所以,如果你是务实的,你可以将max-width更改为例如600px

<%=Html.EditorFor(m => m.Name, new {width=50)%>替换<%=Html.EditorFor(m => m.Name, new {width=50)%>

 <%=Html.EditorFor(m => m.Name,new { htmlAttributes = new { style = "width: 50px" }, } 

您可能需要在css属性中添加“!important”以确保它覆盖TextBoxFor的默认值,例如width:50px!important;

如前所述,您要去的地方是site.css

 input, select, textarea { max-width: 280px; } 

您可以在此处设置所需的任何默认值,也可以删除该块以使Bootstrap默认值为100%。 就个人而言,我添加了以下选项,因此我可以根据相关控件和字段轻松进行一些更改:

 .form-control-25 { max-width: 25%; } .form-control-50 { max-width: 50%; } .form-control-75 { max-width: 75%; } .form-control-100 { max-width: 100%; } 

使用BootStrap 3

 @Html.EditorFor(model => model.PriceIndicatorDesc, new { htmlAttributes = new { @class = "form-control", @style = "width:280px" } }) 

如果您需要在普通CSS规则之外的自定义宽度,并且您正在使用编辑器模板,则可以执行此操作

 <%=Html.EditorFor(m => m.Name, new { Width = 50})%> 

然后在String的编辑器模板中将此添加到模板中

 @Html.TextBox(s => { ... if (ViewBag.Width != null ) { s.Width = ViewBag.Width; } }).Bind(Model).GetHtml() 

PatrikLindström的Max-width是正确的。

通过设置最大宽度和宽度,我能够解决这个问题

 @Html.EditorFor(model => model.Source, new { htmlAttributes = new { @class = "form-control", @placeholder = "Source", @style = "width: 900px;max-width: 900px;" } }) 

在Site.css的CSS文件中,如果在第一次创建MVC项目时VS自动为您生成所有内容,则默认最大宽度为280px。 无论你使用给定的id设置@html.editorfor的宽度有@html.editorfor ,它都受到以下语法的限制。

 input, select, textarea{ max-width:280px } 

你可以通过给它一个新的最大宽度或最大高度来改变它。

以上回答是和否。我们需要使用开发工具来检查使用的样式并修改它们,它们可能具有最大宽度,宽度; 然后创建自己的!重要的CSS来应用它,我的情况:

  

见附图图片结果。

在此处输入图像描述

m.Name)%> m.Name)%>