0
我的日期过滤器工作得很好,当我把它放到一个单独的视图中,但我遇到了麻烦与其他过滤器合并,我不知道我错了。所有其他过滤器正在工作。当我加入我的查询到其他人以使其工作并合并时,您可以请看看并让我知道我需要更改什么?谢谢!日期过滤器无法正常工作MVC
下面是它看起来像在一个单独的控制器,并且该作品在视图:
public ActionResult DateFilter(FormCollection DatePicker)
{
DateTime start = DateTime.Today;
DateTime end = DateTime.Today;
if (DatePicker.Count > 0)
{
start = DateTime.Parse(DatePicker["startDate"].ToString());
end = DateTime.Parse(DatePicker["endDate"].ToString());
}
var Issue = db.Issue.Where(d => d.DateCreated >= start && d.DateCreated <= end).Select(i => new IssueViewModel
{
Name = i.Name,
Description = i.Description,
DateCreated = i.DateCreated,
DateCompleted = i.DateCompleted,
//ect.
}).ToList();
ViewBag.Issue = Issue;
return View();
}
这里是什么样子合并到其它过滤器:
private static IQueryable<Issue> FilterDeviceList(List<Issue> issues, FormCollection DatePicker, string EHP, string IssueKey)
{
var query = issue.AsQueryable();
//COPYING STARTS HERE
DateTime start = DateTime.Today;
DateTime end = DateTime.Today;
if (DatePicker.Count > 0)
{
start = DateTime.Parse(DatePicker["startDate"].ToString());
end = DateTime.Parse(DatePicker["endDate"].ToString());
}
query = query.Where(d => d.DateCreated >= start != null && d.DateCreated <= end != null && d.DateCreated == Convert.ToDateTime(DatePicker));
//COPYING ENDS HERE
if (!string.IsNullOrWhiteSpace(EHP))
query = query.Where(i => i.EHPP != null && i.EHPP == (EHP == "1" ? false : true));
if (!string.IsNullOrWhiteSpace(IssueKey))
query = query.Where(i => i.IssueKey != null && i.IssueKey.Contains(IssueKey));
return query;
}
如果有人需要查看调用IQueryable的视图或控制器,请让我知道,我可以发布它,但我认为这应该足够了。再次感谢你! :)
具体什么不工作?顺便说一句,我不是很确定这个表达式做了什么'd.DateCreated> = start!= null' – Shyju
我试过这样做,没有设置它不等于null,但那也行不通。我只是在玩它而已。第一个控制器中的方法会正确地返回日期过滤日期,但合并的IQueryable控制器中的方法不会返回任何内容,而且我不确定该行中的哪些内容需要更改或应放置在何处。 – Millie