使用DisplayFormat显示今天的日期

时间:2011-02-15 07:36:04

标签: asp.net-mvc asp.net-mvc-3

我正在使用

 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MMM-yy}")]

但是如果日期值为null,则问题i m having is it始终显示01-Jan-01。

我也在使用jquery进行显示,如下所示:

 $("#DateFrom").datepicker({
          dateFormat: 'dd-M-yy',
          altField: 'dd-M-yy',
          altFormat: 'd/m/y',
          minDate: new Date(2010, 1 - 1, 1),
          maxDate: '+12m +1w'
      });

如果日期值为空,我想默认今天的日期。

1 个答案:

答案 0 :(得分:0)

您可以在控制器操作中设置它:

public ActionResult Index()
{
    var viewModel = new MyViewModel();
    viewModel.DateFrom = FetchDateFromSomewhere() ?? DateTime.Now;
    return View(viewModel);
}

或在您的视图模型的getter中:

private DateTime? _dateFrom;
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MMM-yy}")]
public DateTime? DateFrom
{
    get 
    {  
        return _dateFrom ?? DateTime.Now;
    }
    set
    {
        _dateFrom = value;
    }
}