如何在ajax发布后加载局部视图?

时间:2013-10-14 15:14:32

标签: jquery asp.net-mvc-4 autopostback asp.net-mvc-partialview

我刚开始在ASP.NET MVC4中使用部分视图。 单击提交按钮时,它工作正常,部分视图正确加载。 我必须使用DropDownLists和日期字段,当所选索引或值更改时,必须发出ajax帖子。 (还有一些其他下拉列表,这些值基于所选日期和其他选定值)

这是其中一个领域:

@Html.EditorFor(model => model.Overtime.StartDate)

这就是我解决 AutoPostBack 的方式。我让自己取代了html内容。但我认为即使没有从提交按钮触发ajax帖子,也可以通过框架进行。

<script type="text/javascript">
    $(document).ready(function () {
        $("#Overtime_StartDate").datepicker({ dateFormat: 'yy/mm/dd' });

        $("#Overtime_StartDate").change(function () {
            var postData = $("#PostData").serialize();
            $.post("ManageOvertimes", postData, function (data) {
                $('#Fields').html(data);
            });
        });
    });
</script>

包含部分视图的页面:

<div id="Fields">
    @Html.Partial("IndexPartial", Model)
</div>

所以问题是:ASP.NET MVC4中是否有针对此的标准解决方案?

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你。但是,如果您想在PartialView中加载div作为$post函数的回发,则可以使用函数load()

$.post("ManageOvertimes", postData, function () {
                $('#Fields').Load('@Url.Action("Actionname", "Controllername")')
            });