2011-04-12 60 views
0

我目前正在构建一个具有待办事项列表功能的应用程序。我正试图通过家庭控制器将项目传递到我的主页,这些项目将在两周内到期。以下代码位于HomeController中。ASP.NET MVC:将项目传递到主页

MembershipUser myObject = Membership.GetUser(); 
    Guid UserID = (Guid)myObject.ProviderUserKey; 

    DateTime dateTime = new DateTime(); 
    dateTime = DateTime.Now; 
    dateTime.AddDays(14); 

    var model = db.Task.Where(n => n.UserId == UserID).Where(x => x.Due < dateTime); 
    return View(model); 

下面的代码是在主页索引视图:

<ul class="upcoming"> 
    @foreach (var item in Model) 
    { 
     <li>@item.Title</li> 
    } 
    </ul> 

然而,这将返回每个项目在任务数据库中的表,甚至是那些超过2周了。我怎样才能解决这个问题?

非常感谢, 戴尔

+0

您是否检查了发送到数据库的实际SQL查询?数据库中的数据是否包含截止日期大于两周的任务? – 2011-04-12 13:18:06

+0

我想这样做,但我无法弄清楚如何。在SQL Server Management Studio中?绝对有匹配查询的项目。 – dalehumphries 2011-04-12 13:27:00

回答

3

DateTime.AddDays()返回一个新的DateTime对象,它不会修改实例。尝试:

var dateTime = DateTime.Now.AddDays(14);

+0

dateTime已被声明。 dateTime = dateTime.AddDays(14);将足够 – 2011-04-12 13:34:07

+0

@Nicholas Murray:只是试图从代码中删除噪音。 – 2011-04-12 13:36:43