【发布时间】:2016-02-04 00:02:50
【问题描述】:
我有 2 个 jQuery UI 日期选择器,并且正在使用 jQuery jTable 显示我的数据。 当我单击 LOAD 按钮时,它会调用我的 LoadTable 函数,该函数会使用选定的日期调用我的 ASP.NET MVC 4 控制器方法。
我第一次选择故意不返回数据的日期,但是当我第二次选择正确的日期时,第一次的日期值在我的控制器中总是相同的,所以在第一次选择后这些值永远不会改变。
请有人解释为什么会发生这种情况,或提出解决办法吗? 我认为这可能是一个未解决的 jQuery AJAX 回调,但我不确定。
<div>
<input type="datetime" id="StartDate" readonly="readonly" />
<input type="datetime" id="EndDate" readonly="readonly" />
<button type="button" id="btnLoadTable">LOAD</button>
</div>
<div id="JTableContainer"></div>
<script type="text/javascript">
$('#btnLoadTable').click(function () {
LoadTable($('#StartDate').val(), $('#EndDate').val());
});
</script>
function LoadTable(startDate, endDate) {
$("#JTableContainer").jtable({
title: '',
paging: false,
sorting: true,
defaultSorting: 'Name ASC',
columnSelectable: false,
openChildAsAccordion: true,
actions: {
listAction: '@Url.Action("DataList")?startDate=' + startDate + '&endDate=' + endDate
},
fields: {
// abbreviated for space
public JsonResult DataList(string startDate, string endDate)
{
try
{
// I know a straight-parse is not best practice.
var data = _repository.GetData(DateTime.Parse(startDate), DateTime.Parse(endDate));
return Json(new { Result = "OK", Records = data, TotalRecordCount = data.Count });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
【问题讨论】:
标签: c# asp.net-mvc jquery-jtable