2010-08-24 2 views
1

Применить или применить System.ComponentModel.DefaultValue значения по умолчанию для моих свойств? Как насчет свойств ViewModel?Использует значения по умолчанию для свойств хорошей или плохой практики?

Прошу, потому что я передаю ViewModel в свой контроллер. Этот ViewModel содержит такие свойства, как OrderByColumn, SortDirection и PageSize. Когда страница сначала загружается, их необходимо установить на что-то.

ответ

2

Если вам удобно устанавливать эти значения в ViewModel, тогда все должно быть в порядке. Я делаю это для установки SelectLists, привязанных к Enumerations на моем представлении. Пока это значения по умолчанию для конкретного представления. Если они будут более широкими, я бы предложил создать какое-то соглашение, чтобы установить их внутри вашего контроллера.

0

Вначале DefaultValue ничего не делает сам по себе, и вам нужно будет вызывать значения по умолчанию через отражение. Лучше всего использовать конструктор ViewModels для установки этих значений по умолчанию.

Что касается значений по умолчанию, иногда null не обрезает его, и вам нужно их иметь. Это в полной мере зависит от ваших требований.

1

System.ComponentModel.DefaultValue в этом случае не поможет. Он предназначен для установки только значений по умолчанию для свойств в дизайнере.

Проверьте это: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx

Если вам необходимо установить значения по умолчанию для вашей модели, по крайней мере, две другие варианты:

1) Вы можете установить значения по умолчанию в конструкторе

2) непосредственно в контроллере, в этом случае вы можете проверить, может ли, например, OrderByColumn == null присваивать значение по умолчанию.

Смежные вопросы