在ajax成功之后对Ajax调用部分视图

时间:2013-04-24 15:31:13

标签: c# jquery ajax asp.net-mvc

我有一个包含所有按钮的部分视图,它需要在提交表单后显示更新的值。在提交时我已经让它渲染了另一个局部视图,是否有一种方法可以使它在成功渲染它重新渲染时成功。以下是我现在根据我在其他地方看到的内容开始工作的代码。

jQuery在我看来:

<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
    $('#ChangeGrade').click(function (e) {
        var tdata = $('#form1').serialize();
        var origname = $('#HeatGradeDiv').find('input[name="grade"]').first().val();
        var newname = $('#HeatGradeDiv').find('input[name="updatedGrade"]').first().val();
        var heatname = $('#HeatGradeDiv').find('input[name="hiddenHeat"]').first().val();
        $.ajax({
            type: "POST",
            data: {
                mCollection: tdata,
                grade: origname,
                updatedGrade: newname,
                hiddenHeat: heatname

            },
            url: '@Url.Action("ChangeGrade","Home")',
            success: function (result) { success(result); }
        });
    });


    function success(result) {

        $('#HeatGradeDiv').dialog('close');
        $("#Partial_Chem_Analysis").html(result);
        //ajax call I'm trying to get working
        $.ajax({
            type: "POST",
            url: "/Home/ButtonsPartial",
            success: function (result2) { $("#ButtonsPartial").html(result2); }
        });
    }
});
</script>

这是我正在调用的控制器方法。当我现在运行它时它没有被击中。

public ActionResult ButtonsPartial()
    {
        ButtonsModel B = new ButtonsModel();
        B.GetData(searchQ);

        return PartialView(B);
    }

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果您将它附加到调试器(例如(chrome developer tools或firebug)),您是否看到任何http或js错误?

看起来您可能需要将其设为GET而不是POST ...

$.ajax({
            type: "GET",
            url: "/Home/ButtonsPartial",
            success: function (result2) { $("#ButtonsPartial").html(result2); }
        });