css - DisplayFor 显示在与 LabelFor MVC 不同的行上

标签 css asp.net-mvc

我在 MVC 中创建了一个编辑页面,并决定不希望 ID 是可编辑的,但我确实希望它看起来像其他页面一样,最好是灰色。

这是我的属性(property):

<div class="form-group">
    @Html.LabelFor(model => model.EvpId, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">                                
        @Html.DisplayFor(model => model.EvpId, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.EvpId, "", new { @class = "text-danger" })
    </div>
</div>

读了一些书之后,每个人似乎都建议使用 @Html.DisplayFor,这是有道理的,尽管它看起来不像其他的。

但是,当将 EditorFor 换成 DisplayFor 时,我注意到标签不在同一行上:

enter image description here

将它与相应标签放在同一行的简单方法是什么,我使用的是开箱即​​用的标准 bootstrap CSS。

查看源代码页面:

<div class="form-group">
    <label class="control-label col-md-2" for="EvpId">Id</label>           
    <div class="col-md-10">                                
        2
        <span class="field-validation-valid text-danger" data-valmsg-for="EvpId" data-valmsg-replace="true"></span>
    </div>
</div>

最佳答案

我遇到了同样的问题。 Jasen 的回答没有帮助,因为 span 没有将元素与标签放在同一水平线上,但他后来对 bootstrap 文档链接的评论解决了这个问题,我们应该使用 p 标签而不是 span

所以我最终的解决方案是:

<p class="form-control-static">@Html.DisplayFor(model => model.Contractor.Name) </p>

感谢 Jasen!

关于css - DisplayFor 显示在与 LabelFor MVC 不同的行上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816011/

相关文章:

html - 全宽导航栏 Logo Bootstrap

javascript - 如果表格空白并显示文本,则隐藏按钮

asp.net-mvc - 带有 jquery-file-upload Request.Files.Count 的 asp.net mvc 4 始终为 0

c# - 如何使用 MVC Web API 进行身份验证?

c# - 如何按嵌套实体的字段排序/排序?

asp.net-mvc - ASP.NET MVC 5 自定义脚手架选项 [t4 模板]

div 旁边的 CSS div 和第二个 div 的宽度

html - Bootstrap 导航栏,左右有 2 个品牌,链接居中

html - 左对齐 div,然后居中对齐底部文本

javascript - 如何在 iOS 10+ 的网页中播放 HTML5 视频(内联)