MVC 3.0 JQUERY部分页面更新

时间:2012-06-13 11:50:48

标签: jquery asp.net jquery-ui

我有一个JQuery UI日期选择器。选择日期后,图表上的数据会发生变化。

问题在于,当我在日期选择器上选择日期时,整个页面会刷新并填充数据。

无论如何,我可以更新标签上的图表吗?请注意,选择日期后,jquery会发布到服务器并获取所选日期的新数据。

我正在使用$.ajax({ });来调用服务器。我原本以为这会有所作为,但事实并非如此。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:4)

我不知道你的方法的名称,div,如果这有帮助,只需相应地改变。 尝试以下内容:

        $("#DateDiv").datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "yy/mm/dd",
        onSelect: function (dateText, inst)
        {
            UpdateGraph(dateText);
        },
        onChangeMonthYear: function(year, month, inst) 
        { 
            $.ajax({
                async: false,
                cache: false,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: "@Url.Action("LoadGraph", "YourController")",
                data:
                {
                    date: new Date(year, month - 1, 1).toString("yyyy/MM/dd")
                },
                success: function (data)
                {
$("#UpdateGraphDataDiv").html(data);
                                   },
                error: function (request, status, error)
                {
                    DisplayErrorMessageBox(ParseErrorFromResponse(request.responseText, "Unknown error"), true);
                }
            });
        }

答案 1 :(得分:2)

你需要像

这样的东西
$('button').click(function(event){ 
   event.preventDefault();
   $.ajax({ ... } );
});

答案 2 :(得分:1)

试试这个

$('#datepickerid').datepicker({
   onSelect: function(dateText, inst) { 
     $.ajax({ ... } );
     return false;
   }
});