这是一个关于日期和时间的史诗故事。
Created 是一个不可为空的 DateTimeOffset 变量 Updated 是一个可为空的 DateTimeOffset 变量
两者的值都已正确创建,存在于数据库中并已传递给视图。因此,这两个值都应该在以下范围内可用:<div class="row">@Html.Label(Model.Created.Value.ToString("MMMM, dd yyyy hh:mm tt"))</div>
<div class="row">@Html.Label(Model.Updated.Value.ToString("MMMM, dd yyyy hh:mm tt"))</div>
然而,第二个(更新)是好的,第一个(创建)会出现错误:“ValueExtensions.Value(HtmlHelper,string)'是一种方法,在给定的上下文中无效”
它发生在 .value 部分。为什么一个可以,另一个不行?变量的可空性与可接受性有什么关系?或使该方法“在给定的上下文中无效”?
我的模型:
public BlogPost()
{
this.Comments = new HashSet<Comment>();
}
public int Id { get; set; }
public DateTimeOffset Created { get; set; }
public DateTimeOffset? Updated { get; set; }
[Required()]
public string Title { get; set; }
public string Slug { get; set; }
[Required()]
[AllowHtml]
public string Body { get; set; }
public string MediaURL { get; set; }
public bool Published { get; set; }
public virtual ICollection<Comment> Comments { get; set; }