Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按日期范围c#mvc4筛选数据_C#_Sql_Asp.net Mvc_Linq_Asp.net Mvc 4 - Fatal编程技术网

按日期范围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欢迎你,伙计!没问题。