0

我正在尝试使用 AJAX 调用按钮单击来刷新部分视图中的网格。但是按钮的单击方法无法正常工作。

以下代码片段是我用来执行的代码

查询

 <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>

剃刀代码

<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);
}
4

1 回答 1

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);
         }
     });
});

然后在您的控制器中,您将接受来自和去的参数,而不是整个模型。您不会在此处发帖,因此不会将整个模型发送回控制器。如果您有任何问题,请告诉我。

于 2013-09-24T22:25:33.800 回答