【发布时间】:2015-11-20 03:40:04
【问题描述】:
谁能告诉我我哪里出了问题。我有一个错误列表,我希望能够按日期搜索。例如,如果我从日期选择器中选择了日期 20/08/2015,那么我希望列表仅显示该日期的错误。默认情况下,它将显示数据库中的所有错误,但在选择日期时,我只想显示该日期的错误。
控制器
[HttpPost]
public ActionResult Index(string sortOrder, int? page, DateTime? datePicker)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
DateTime userSelectedDate = DateTime.Parse(Request["datePicker"]);
var applications = from s in db.ElmahErrors
where s.TimeUtc == userSelectedDate
select s;
switch (sortOrder)
{
default:
applications = applications.OrderByDescending(x => x.TimeUtc);
break;
}
int pageSize = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["DefaultPageSize"]);
int pageNumber = (page ?? 1);
return View(applications.ToPagedList(pageNumber, pageSize));
}
查看
@using (Html.BeginForm())
{
<label for="datePicker">Find By Date:</label>
@Html.TextBox("datePicker", null, new { @type = "date" })
<input id="submitBtn" type="submit" value="Search" />
}
userSelectedDate 变量正在从日期选择器中获取值,但它与任何错误都不匹配。有人可以帮忙吗?
提前致谢。
【问题讨论】:
-
为什么你有一个参数
DateTime? datePicker(会包含选择的日期),然后忽略它并使用DateTime userSelectedDate = DateTime.Parse(Request["datePicker"]);?
标签: c# asp.net asp.net-mvc linq