通过mvc4中的按钮单击不执行Ajax调用

时间:2013-09-14 20:04:16

标签: javascript jquery ajax asp.net-mvc-4

我正在尝试使用按钮点击的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);
}

1 个答案:

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

然后在您的控制器中,您将接受来自和取代整个模型的参数。你没有在这里回帖,所以整个模型不会被送回控制器。如果您有任何疑问,请告诉我。