我创建了一个映射到我的数据库模型的类。属性之一是 StartDate
public DateTime? StartDate { get; set; }
我可以在构建模型时轻松抓住它并将其放置在我的视图中。
我想做的是让视图显示一个更友好的日期 MM/dd/yyyy。我知道.ToString(MM/dd/yyyy)并尝试使用属性来设置它。我遇到了麻烦,因为数据库设置为可为空的 DateTime 并且我想返回一个字符串。也许我没有使用正确的方法
从数据库中检索的代码
var newsItem = (from n in context.News
                    where n.NewsID == id
                    select new Models.Components.NewsModel
                    {
                        NewsId = n.NewsID,
                        Header = n.Header,
                        MainPhoto = n.MainImage,
                        Text = n.Text,
                        Date = n.CreatedDate,
                        Active = n.Active,
                        StartDate = n.StartDate,                                                                
                        EndDate = n.EndDate
                    }).FirstOrDefault();
尝试设置值
private DateTime? _StartDate { get; set; }
public string StartDate
{
    get
    {
        DateTime tmp;
        DateTime.TryParse(_StartDate.ToString(), out tmp);
        return tmp.ToString("MM/dd/yyyy");
    }
    set { _StartDate = value; }
}
这抱怨是因为 _StartDate 是 DateTime?价值
以我指定的格式显示日期的最有效方法是什么?