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