Если viewModel.Note
является ссылкой на экземпляр NoteViewModel
, то вы можете использовать следующее:
public class NoteViewModel{
private DateTime? m_Modified;
private string m_ModifiedBy;
// note that you do not need the DisplayNameAttribute, because the default
// display name is the property name
public DateTime Modified {
get { return m_Modified ?? DateTime.Now; }
}
[DisplayName("Modified By")]
public string ModifiedBy {
get { return m_ModifiedBy ?? string.Empty; }
set {
if(value!=null) {
m_ModifiedBy = value;
m_Modified = DateTime.Now;
}
}
}
}
Тогда в вашем "коде" (я полагаю, вы имели в виду контроллер?), вы можете просто сделать:
viewModel.Note.ModifiedBy = User.Identity.Name;
, и вы получите желаемый результат.
Примечание: В зависимости от аудитории вашего приложения, вы можете рассмотреть возможность использования DateTime.UtcNow
для целей локализации.DateTime.Now
вернет текущий DateTime на сервере, который зависит от местоположения сервера.Если вы отображаете эти данные пользователю, вероятно, вы захотите либо (а) указать часовой пояс, либо (б) локализовать время в часовом поясе клиентского компьютера