将编辑器标签和输入保持在同一行

本文关键字:一行 标签 编辑器 输入 | 更新日期: 2023-09-27 18:10:50

使用MVC 3 @html.EditorForModel,自动生成的模板吐出

<div class="editor-label">....
<div class="editor-field">....
<div class="editor-label">....
<div class="editor-field">....

两个类都向左浮动,使元素适合水平空间。

当字段列表约为10时,标签和输入之间有时会断行;这看起来很糟糕。让他们保持在同一条线上的最好方法是什么?如果我手工编码,我可以将它们包装在另一个div中,比如

<div class="editor-wrap">....
    <div class="editor-label">....
    <div class="editor-field">....

和浮动"editor-wrap"。然而,为了保持不希望手工编码每个页面,是否有一些方法来增强/改变EditorForModel的行为?或者可以在.cshtml(视图)级别与自定义类做些什么?

将编辑器标签和输入保持在同一行

你可以完全自定义MVC使用的模板。例如,在Views/Shared/EditorTemplates目录下,你可以创建一个名为Foo的模板。CSHTML(或您正在使用的任何视图引擎)。当您调用EditorForModel时,您可以传递模板的名称(它是重载中的一个参数)。我推荐这一系列文章来真正理解整个过程:

http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html