使用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(视图)级别完成某些操作吗?
答案 0 :(得分:1)
您可以完全自定义MVC使用的模板。例如,在Views / Shared / EditorTemplates目录中,您可以创建名为Foo.cshtml的模板(或您正在使用的任何视图引擎)。当您调用EditorForModel时,您可以传递模板的名称(它是其中一个重载的参数)。我推荐这一系列文章来真正理解整个过程:
http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html