按日期范围c#mvc4筛选数据
第一张表格卡片:按日期范围c#mvc4筛选数据,c#,sql,asp.net-mvc,linq,asp.net-mvc-4,C#,Sql,Asp.net Mvc,Linq,Asp.net Mvc 4,第一张表格卡片:卡片,说明-记录所有可用卡的第二个表RegistartionDt:RegistartionDtId、RegisteredDateTime、cardd。保存使用特定卡的时间和数据 我想做一个搜索功能,将搜索的日期卡。例如,用户将从下拉菜单中选择日期。开始日期和结束日期,并搜索该范围内使用的卡 到目前为止,我有: public ActionResult List () { CardDBEntities _db = new CardDBEntities(); var
卡片,说明
-记录所有可用卡的第二个表RegistartionDt:RegistartionDtId、RegisteredDateTime、cardd
。保存使用特定卡的时间和数据
我想做一个搜索功能,将搜索的日期卡。例如,用户将从下拉菜单中选择日期。开始日期和结束日期,并搜索该范围内使用的卡
到目前为止,我有:
public ActionResult List ()
{
CardDBEntities _db = new CardDBEntities();
var cards = (from c in _db.Cards
join d in _db.RegistrationDTs
on c.CardId equals d.CardId
where d.RegistrationDateTime >= startDate &&
d.RegistrationDateTime <= endDate
select new
{
d.CardId,
c.Description
}).OrderByAscending(x => x.RegistrationDateTime)
.ToList();;
return View(cards);
}
public ActionResult列表()
{
CardDBEntities _db=新的CardDBEntities();
var卡=(来自c in_db.cards
加入d_db.RegistrationDTs
关于c.cardd等于d.cardd
其中d.RegistrationDateTime>=开始日期和
d、 RegistrationDateTime x.RegistrationDateTime)
.ToList();;
返回视图(卡片);
}
在视图中我应该做什么?如何显示我的结果?应该如何定义endDate和startDate我没有在任何地方定义它们。我希望enddate和startdate是用户将在搜索框中插入的值
请帮忙。
谢谢你你可以试试这样的东西:
// Declare a model class in your models folder, like below
// You could give any name you want to this class
public class ModelName
{
public int CardId { get; set; }
public string Description { get; set; }
public DateTime RegistrationDateTime { get; set; }
}
然后在控制器内部,可以将方法重构为以下方法:
public ActionResult List (DateTime startDate, DateTime endDate)
{
using(var db = new CardDBEntities())
{
var cards = (from c in db.Cards
join d in db.RegistrationDTs
on c.CardId equals d.CardId
where d.RegistrationDateTime >= startDate &&
d.RegistrationDateTime <= endDate
select new ModelName
{
CardId = d.CardId,
Description = c.Description,
RegistrationDateTime = d.RegistrationDateTime
}).OrderByAscending(x => x.RegistrationDateTime)
.ToList();
ViewData["cards"] = cards;
return View();
}
}
公共操作结果列表(日期时间开始日期、日期时间结束日期)
{
使用(var db=new CardDBEntities())
{
var卡=(来自数据库卡中的c
在db.RegistrationDTs中加入d
关于c.cardd等于d.cardd
其中d.RegistrationDateTime>=开始日期和
d、 RegistrationDateTime x.RegistrationDateTime)
.ToList();
ViewData[“卡片”]=卡片;
返回视图();
}
}
endDate和startDate应该如何定义?我没有定义它们
任何地方
您可以在ActionResult
方法中将它们定义为参数
在视图中我应该做什么
您可以从ViewBag
集合中读取数据
在视图中我应该做什么
这完全取决于你想如何展示你的结果 我觉得这更符合逻辑。非常感谢。让我试试。你知道我得到的原因吗:参数字典包含不可为null的类型“System.DateTime”的参数“startDate”的null条目,用于方法“System.Web.Mvc.ActionResult”列表(System.DateTime,System.DateTime)'在'Reader1.Controllers.CardController'@BesaNeziri不幸的是,我不知道你为什么会出现这个错误。谢谢你的时间和努力。我真的很感激it@BesaNeziri欢迎你,伙计!没问题。