我在 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
时,我注意到标签不在同一行上:
将它与相应标签放在同一行的简单方法是什么,我使用的是开箱即用的标准 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/