我想使用两个日期在Asp.net MVC中运行一个循环,并希望从这两个日期之间的数据库中获取所有数据,请帮帮我。
答案 0 :(得分:3)
如果你需要通过Razor制作它,那么你可以使用这样的代码:
@for (DateTime item = model.BeginDate; item <= model.EndDate; item = item.AddDays(1))
{
<div>Date is @item</div>
}
但是如果您需要从数据库中获取数据,最好将其包含在使用BETWEEN关键字获取此数据的SQL查询中。这是一个示例:
SELECT * FROM SomeSource WHERE DateColumn BETWEEN @BeginDate AND @endDate
<强> UPDATE1 强> 我之前没有使用过nHibernate,但似乎有关于它的答案 - Querying with nHibernate where todays date is between publishDate and Expiry date
基本上你可以编写这样的代码:
DateTime beginDate, endDate;
// init datetime values
return _session.CreateCriteria<Message>()
.Add(
Restrictions.Le("BeginDate", beginDate)
& Restrictions.Ge("EndDate", endDate))
.List<SomeResultType>();