是否将默认值应用于属性好或坏的做法?

时间:2010-08-24 13:13:21

标签: c# asp.net-mvc default-value

System.ComponentModel.DefaultValue默认值应用于我的属性是好还是坏?我的ViewModel属性怎么样?

我问,因为我将ViewModel传递给我的Controller。此ViewModel包含OrderByColumn,SortDirection和PageSize等属性。首次加载页面时,需要将这些设置为某些内容

3 个答案:

答案 0 :(得分:2)

如果您愿意在ViewModel中设置这些值,那么它应该没问题。我这样做是为了设置与我的视图上的枚举相关联的SelectLists。只要这些是特定View的默认值。如果这些更广泛,我建议建立某种约定来将它们设置在你的控制器内。

答案 1 :(得分:1)

在这种情况下,

System.ComponentModel.DefaultValue对您没有帮助。 它旨在仅为设计器中的属性设置默认值。

请检查:http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx

如果您需要为模型设置默认值,则至少还有两个选项:

1)您可以在构造函数

中设置默认值

2)直接在控制器中,在这种情况下,您可以检查例如OrderByColumn == null然后分配默认值。

答案 2 :(得分:0)

首先,DefaultValue本身不执行任何操作,您必须通过反射调用默认值。最好的办法是使用ViewModels构造函数来设置这些默认值。

就默认值而言,有时null不会削减它,你需要拥有它们。这完全取决于您的要求。