【发布时间】:2016-01-26 12:25:20
【问题描述】:
我有一个活动会话页面。每个活动都有一个日期时间 (dd/mm/yyyy HH:mm:ss)。我正在尝试创建一个带有开始日期和结束日期的排序过滤器,以查看这些日期之间的所有活动。为此,我创建了两个带有 JqueryUI 日期选择器的文本框。我还在控制器中创建了方法,以及用于传递数据的 JS 脚本。
我的问题是将日期传递给控制器。它不起作用,当我尝试在控制器方法中使用它时,我有一个空值。我尝试在 DateFilter 中使用Datetime?,它正在获取值,但之后我无法使用AddDays。
您能告诉我是否需要使用 `toISOString' 以及如何使用?
JS 脚本:
$("#btndatefilter").click(function () {
var startdate = $('#datestart').val();
var enddate = $('#dateend').val();
$.ajax({
url: "/AuditActivities/FilterByDate",
type: "GET",
data: { dateFilter: { StartDate: startdate, EndDate: enddate } },
})
.done(function (auditActivity) {
$("#res").html(auditActivity);
});
});
控制器
[HttpGet]
public ActionResult FilterByDate(DateFilter dateFilter)
{
DateTime endperiod = dateFilter.EndDate.AddDays(1).AddTicks(-1);
string returnpartial = "";
var auditActivity = db.AuditActivity.Include(a => a.Pc).Include(a => a.Activity).Include(a => a.Users);
auditActivity = auditActivity.Where(a => a.Date > dateFilter.StartDate && a.Date < endperiod).OrderBy(a => a.Date);
returnpartial = "Indexactivityuser";
return PartialView(returnpartial, auditActivity.ToList());
}
数据类
public class DateFilter
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
【问题讨论】:
标签: asp.net-mvc date jquery-ui datetime get