我是 Razor 的新手,我想知道如何在模型的日期对象中添加一天。我需要放一个“第二天”链接
这是查看代码
<a href="@Html.DisplayNameFor(model => model.date)">Next Day</a>
我是 Razor 的新手,我想知道如何在模型的日期对象中添加一天。我需要放一个“第二天”链接
这是查看代码
<a href="@Html.DisplayNameFor(model => model.date)">Next Day</a>
您也可以在using方法中传递NextDay
as a 。此方法返回一个将指定天数添加到此实例的值的新方法。DateTime
Model
DateTime.AddDays()
DateTime
model.NextDay = startDate.AddDays(1);
然后在你的使用该属性DisplayNameFor
:
<a href="@Html.DisplayNameFor(model => model.NextDay)">Next Day</a>
有一小段关于它MSDN
此方法不会更改此 DateTime 的值。相反,它返回一个新的 DateTime,其值是此操作的结果。
您通常不想在视图中“计算”值 - 这是模型的责任。最简洁的方法是在模型中添加一个计算下一个日期的属性:
public DateTime NextDay
{
get {return this.date.AddDays(1); }
}
然后在你的使用该属性DisplayNameFor
:
<a href="@Html.DisplayNameFor(model => model.NextDay)">Next Day</a>
是model.date
一个DateTime
?如果是这样,那么使用DateTime.AddDays
. 仅仅为此向您的模型添加特殊属性可能不值得。
另外,您确定您的日期将以您的服务器可以理解的格式进行序列化吗?我建议您确保为要在 Urls 中使用的日期指定特定格式,例如yyyy-MM-dd
,使用对象的ToString()
方法DateTime
。这样,对服务器区域设置的任何更改都不会影响您的站点。
<a href='@Html.DisplayNameFor(model => model.Date.AddDays(-1).ToString("yyyy-MM-dd"))'>Previous Day</a>
<a href='@Html.DisplayNameFor(model => model.Date.AddDays(1).ToString("yyyy-MM-dd"))'>Next Day</a>