C# 按日期时间范围筛选MVC 5
各位晚上好,, 我回到家,任何人都可以帮助我在视图部分使用日期时间范围过滤器。 这是我的模型:C# 按日期时间范围筛选MVC 5,c#,asp.net-mvc,entity-framework,razor,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Razor,Asp.net Mvc 5,各位晚上好,, 我回到家,任何人都可以帮助我在视图部分使用日期时间范围过滤器。 这是我的模型: public class IndexVM { public DateTime? StartDate { get; set; } public DateTime? EndDate { get; set; } public virtual ICollection<Order> Orders { get; set; } } 公共类IndexVM { 公共日期时间?开始
public class IndexVM
{
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
公共类IndexVM
{
公共日期时间?开始日期{get;set;}
公共日期时间?结束日期{get;set;}
公共虚拟ICollection订单{get;set;}
}
我正在使用视图模型进行显示,下面是我的控制器:
public ActionResult Index(DateTime? start, DateTime? end)
{
var orders = db.Orders
.Where(x => x.OrderStatus == 3
&& x.ClosedAt > start
&& x.ClosedAt < end)
.OrderByDescending(x => x.LastUpdateAt)
.ToList();
IndexVM model = new IndexVM();
model.StartDate = start;
model.EndDate = end;
model.Orders = orders;
return View(model);
}
公共操作结果索引(DateTime?开始,DateTime?结束)
{
var orders=db.orders
.其中(x=>x.OrderStatus==3
&&x.ClosedAt>开始
&&x.ClosedAt<结束)
.OrderByDescending(x=>x.LastUpdateAt)
.ToList();
IndexVM模型=新的IndexVM();
model.StartDate=开始;
model.EndDate=结束;
模型.订单=订单;
返回视图(模型);
}
现在我的观点有些问题
这是我的问题:
如何将开始和结束日期传递给控制器以获取具有定义属性的订单?
这是我的观点,我做错了什么
@using (Html.BeginForm())
{
<div class="form-horizontal">
<div class="form-group form-group-sm">
<div class="col-md-8">
@Html.TextBoxFor(model => model.StartDate, "{0:MM/dd/yyyy}", new { @class = "date-picker form-control", @id = "start", @placeholder = "Start Date" })
</div>
</div>
<div class="form-group form-group-sm">
<div class="col-md-8">
@Html.TextBoxFor(model => model.EndDate, "{0:MM/dd/yyyy}", new { @class = "date-picker form-control", @id = "end", @placeholder = "End Date" })
</div>
</div>
<div class="form-group-sm">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" /> <span> </span>
</div>
</div>
</div>
}
@使用(Html.BeginForm())
{
@Html.TextBoxFor(model=>model.StartDate,“{0:MM/dd/yyyy}”,新的{@class=“日期选择器表单控件”,@id=“开始”,@placeholder=“开始日期”})
@Html.TextBoxFor(model=>model.EndDate,“{0:MM/dd/yyyy}”、新的{@class=“日期选择器表单控件”、@id=“end”、@placeholder=“end date”})
}
控制器
public ActionResult Index(DateTime? start, DateTime? end)
{
ViewBag.start = start;
ViewBag.end = end;
var orders = db.Orders
.Where(x => x.OrderStatus == 3
&& x.ClosedAt > start
&& x.ClosedAt < end)
.OrderByDescending(x => x.LastUpdateAt)
.ToList();
return View(orders);
}
公共操作结果索引(DateTime?开始,DateTime?结束)
{
ViewBag.start=开始;
ViewBag.end=结束;
var orders=db.orders
.其中(x=>x.OrderStatus==3
&&x.ClosedAt>开始
&&x.ClosedAt<结束)
.OrderByDescending(x=>x.LastUpdateAt)
.ToList();
返回视图(订单);
}
看法
@使用(Html.BeginForm())
{
@TextBox(“start”,null,new{@class=“form control datepicker”})
@TextBox(“end”,null,new{@class=“form control datepicker”})
}
这对我不起作用。它只提供了两个文本输入框。你能用完整的解决方案更新吗?
@using (Html.BeginForm())
{
<div class="form-horizontal">
<div class="form-group form-group-sm">
<div class="col-md-8">
@Html.TextBox("start", null, new { @class = "form-control datepicker" })
</div>
</div>
<div class="form-group form-group-sm">
<div class="col-md-8">
@Html.TextBox("end", null, new { @class = "form-control datepicker" })
</div>
</div>
<div class="form-group-sm">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" /> <span> </span>
</div>
</div>
</div>
}