MVC Razor 如果不显示日期

MVC Razor if else not displaing date

这对我来说毫无意义!我有一个简单的条件语句可以工作,但它不会显示 else 日期。它将显示粗体的结束日期:。我正在测试日期是否为默认日期,如果为真,则显示当前录取日期。但是如果结束日期不为空,我想显示日期。

@if(Model.allBuyins.Where(z => z.Counter == 2).Select(z => z.End_NHdate).First() == default(DateTime))
{
   <strong>Currently Admitted</strong>                                                     
}
else
{
    <strong>End Date:</strong>
    string.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(Model.allBuyins.Where(z => z.Counter == 2).Select(z => z.Begin_NHdate).First()));                                                      
}

如果我在 else 中复制日期并将其移到我的条件语句之外,它就可以正常工作。

只需在您的 string.Format() 函数周围放置一个 Html 标记,它应该可以正常工作。

  <span>@string.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(default(DateTime)));</span>

我看到的原因是,正在对语句进行评估,但它没有在 html 中呈现为文本。但是当你在它前面加上 @ 符号时,Razor 将它视为渲染内容,因此它确实出现在生成的 html.