我正在尝试使用按钮点击的AJAX调用在局部视图中刷新网格。但按钮的点击方法无法正常工作。
以下代码段是我用来执行的代码
JQUERY
<script type="text/javascript">
$(document).ready(function () {
$("#fromDate").datepicker({
changeMonth: true,
changeYear: true
});
$("#toDate").datepicker({
changeMonth: true,
changeYear: true
});
});
//function buttonClick() {
$("#btnSearch").click($.ajax({
url: 'Report/SearchGrid',
type: "POST",
success: function (html) {}
}));
//}
</script>
Razor Code
<input type="button" value="Search" id="btnSearch" onclick= "buttonClick();" style="width: 90px; border: solid 1px #1570a6; background-color: #1570a6; color: #FFFFFF; font-weight: 100;" />
控制器代码
public ActionResult SearchGrid(ExpenseReportModel model)
{
ExpenseReportModel expModel = new ExpenseReportModel();
expModel.ExpenseList = GetExpenseList();
expModel.ExpenseFromDate = Convert.ToDateTime(model.ExpenseFromDate);
expModel.ExpenseToDate = Convert.ToDateTime(model.ExpenseToDate);
return PartialView("_GridData", expModel.ExpenseList);
}
答案 0 :(得分:0)
我没有从您的代码中看到您将数据传递给控制器的位置,或者您在表单上使用结果设置任何内容的位置。你的电话应该是这样的
$('#btnSearch').on('click', function(){
$.ajax({
url: "@(Url.Action("Action", "Controller"))",
type: "POST",
data: { from: $('.FromDate').val(), to: $('.ToDate').val() },
cache: false,
async: true,
success: function (result) {
$(".Content").html(result);
}
});
});
然后在您的控制器中,您将接受来自和取代整个模型的参数。你没有在这里回帖,所以整个模型不会被送回控制器。如果您有任何疑问,请告诉我。