我在asp.net MVC中有两个日期'开始日期'和'结束日期',我想从'开始日期'到'结束日期'运行一个循环开始

时间:2014-01-03 11:18:27

标签: asp.net-mvc

我想使用两个日期在Asp.net MVC中运行一个循环,并希望从这两个日期之间的数据库中获取所有数据,请帮帮我。

1 个答案:

答案 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>();