清理asp.net mvc2自动生成的html表单-css?

清理asp.net mvc2自动生成的html表单-css?,asp.net,css,asp.net-mvc-2,forms,Asp.net,Css,Asp.net Mvc 2,Forms,我有一些ASP.NET(MVC2)自动生成的html,它创建的表单如下所示: 这是因为假设每个下拉列表都是字符串列表,该下拉列表中的某些字符串是长/短字符串 我想做的是让它们都一样大,或者至少以某种方式清理这个表单 我猜我可以检查呈现的html,并使用css来完成这项工作 有什么建议/css代码吗 干杯 编辑: 因此,似乎需要使用编辑器模板将元数据添加到类中 如果您使用了实体数据模型(它都是为我生成的),并且我有一个DataModel.edmx和DataModel.Designer.cs——元

我有一些ASP.NET(MVC2)自动生成的html,它创建的表单如下所示:

这是因为假设每个下拉列表都是字符串列表,该下拉列表中的某些字符串是长/短字符串

我想做的是让它们都一样大,或者至少以某种方式清理这个表单

我猜我可以检查呈现的html,并使用css来完成这项工作

有什么建议/css代码吗

干杯

编辑

因此,似乎需要使用编辑器模板将元数据添加到类中


如果您使用了实体数据模型(它都是为我生成的),并且我有一个
DataModel.edmx
DataModel.Designer.cs
——元数据标记放在哪里?听起来您想创建一个实体数据模型

这样,你可以说:

Model.Customer)%>

然后将呈现绑定到客户对象的视图

在EditorFor/DisplayFor/PartialView上有一个SO讨论

另一个(有些痛苦的)解决方案是编辑视图样板


有一篇关于你想要创建一个

这样,你可以说:

Model.Customer)%>

然后将呈现绑定到客户对象的视图

在EditorFor/DisplayFor/PartialView上有一个SO讨论

另一个(有些痛苦的)解决方案是编辑视图样板


那上面有一篇博文

是的。最好将类添加到输入字段中:

<%: Html.TextBoxFor(m => m.FirstName, new { @class = "form-input-w100" }) %>
如果您想对表单的样式保持精确的控制,我建议您不要使用默认的编辑器模板。它们不是超级友好的css。或者,您可以创建自己的样式友好型编辑器模板(如下所述:)

最重要的是,您可以在表单中的所有对象上强制设置一个宽度,即使表单没有很好地标记,但我不推荐这种方法。不管怎样,我都会给你的:

#pageArea form input[type=textbox] { width: 100px; }
#pageArea form select { width: 140px; }
等等

希望有帮助


另外,如果您需要有关样式的更多信息,请查看

是。最好将类添加到输入字段中:

<%: Html.TextBoxFor(m => m.FirstName, new { @class = "form-input-w100" }) %>
如果您想对表单的样式保持精确的控制,我建议您不要使用默认的编辑器模板。它们不是超级友好的css。或者,您可以创建自己的样式友好型编辑器模板(如下所述:)

最重要的是,您可以在表单中的所有对象上强制设置一个宽度,即使表单没有很好地标记,但我不推荐这种方法。不管怎样,我都会给你的:

#pageArea form input[type=textbox] { width: 100px; }
#pageArea form select { width: 140px; }
等等

希望有帮助


另外,如果您需要更多关于样式的信息,请查看

使它们统一的一个更简单的方法是使用一个选择器来获取所有组合框,例如:

input[type=select] { width: 300px; }

是一篇关于css选择器的好文章。

使它们统一的一个更简单的方法是使用一个选择器来抓取所有组合框,例如:

input[type=select] { width: 300px; }

是一篇关于css选择器的好文章。

您可能不应该将模型类传递给编辑器模板。相反,你应该创建ViewModel类,设置你想要的所有DataAnnotation,然后使用AutoMapper将这些ViweModels映射到你的模型类。我同意@EWWYN。试着养成每个视图都有一个ViewModel的习惯,并将模型类添加到ViewModel中。。。为每个视图使用视图模型是有意义的,但我认为我需要在实际的类而不是viewmodel类中定义dataannotations等。。。有关于如何“使用AutoMapper将这些视图模型映射到模型类”的教程吗?您可能不应该将模型类传递到编辑器模板。相反,你应该创建ViewModel类,设置你想要的所有DataAnnotation,然后使用AutoMapper将这些ViweModels映射到你的模型类。我同意@EWWYN。试着养成每个视图都有一个ViewModel的习惯,并将模型类添加到ViewModel中。。。为每个视图使用视图模型是有意义的,但我认为我需要在实际的类而不是viewmodel类中定义dataannotations等。。。有关于如何“使用AutoMapper将这些视图模型映射到模型类”的教程吗?