MVC和EditorFor宽度
我可以在View上设置EditorFor控件的宽度吗?
我设置了一些参数:
[Required, DisplayName("Payee Name"), StringLength(50)] public string Name { get; set; }
但是,我似乎无法设置渲染的文本框的宽度。
m.Name)%> m.Name)%>
这可以以某种方式完成吗?
我试过了:
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来应用它,我的情况:
见附图图片结果。
在此处输入图像描述
- 扩展ASP.NET MVC 2 Model Binder以适用于0,1个布尔值
- C#Asp.net Membership.GetAllUsers通过电子邮件订购
- 不允许子操作执行重定向操作 – 使用ASP.NET MVC 2和Razor时出错
- ASP.NET MVC 2问题 – Dot in Route
- ASP.Net MVC 2.0:EditorFor通过属性设置名称
- MVC 2与VS 2010视图构建错误:function’匿名类型’不能使用,因为它不是ISO-2 C#语言规范的一部分
- MVC 2 RC 2中的IValueProvider
- 是控制器异步的后台工作者?
- 属性要求用户登录而不是拒绝访问?
Interesting Posts
ASP.NET MVC2项目的DDD体系结构
启用/禁用企业库登录生产
如何在C#和DataAnnotation中创建通用的UniqueValidationAttribute?
在entity framework中编辑对象并将其保存到ASP.NET MVC 2.0中的数据库中
当IDENTITY_INSERT设置为OFF时,无法在表’ClientDetails’中为标识列插入显式值
使用System.Drawing概述文本?
我可以创建一个流式传输pdf以供下载的Web服务
ASP.Net MVC 2 Controller的TryValidate不validation模型中的List 项
复选框和模型绑定的动态列表
在ASP.NET中使用线程有任何非明显的危险吗?