繁体   English   中英

更新MVC3局部视图

[英]update MVC3 partial view

我正在使用MVC C#和Jquery。 我有一个部分视图,每次用户修改视图中的某些数据时都需要更新。 问题是部分视图没有更新。 如何更新局部视图?

部分视图中的jquery代码(WorkReport)

 $("#modify").click(function () {
    var duration = $("#newDuration").val();
    var date_param = $("#dateParam").val();
    $.ajax({
        url: '@Url.Action("ModifyDuration", "ViewWork")',
        type: 'post',
        data: { newDuration: duration, id: psm_id, date: date_param },
        dataType: 'text',
        traditional: true,
        beforeSend: function (jqXHR, settings) {
            $.mobile.showPageLoadingMsg();
        },
        success: function (data) {
            $("#workList").html(data).trigger('create');
            $.mobile.hidePageLoadingMsg();
        },
        error: function (jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            }
        }
    });
});

控制器代码:

[HttpGet]
    public PartialViewResult GetWorkList(string date)
    {
        model.workList = workList;
        return PartialView("WorkReport", model);

    }

 [HttpPost]
    public ActionResult ModifyDuration(string newDuration, string id, string date)
    {
        DataOperation dataOperation = new DataOperation();
        dataOperation.UpdateWorkDuration(newDuration, id);
        return RedirectToAction("GetWorkList", new
        {
            date = date
        });
    }

你可以使用它,但请确保正确选择page.or使用load

$("#modify").load('@Url.Action("ModifyDuration", "ViewWork")');

使用以下命令在JQuery中加载Partials已经取得了更大的成功:

$("#modify").click(function () {
    $("#workList").load('/ViewWork/ModifyDuration');
}

硬编码路径(链接)是一个坏主意,所以总是使用@Url.Action()方法。 你的代码应该是

$("#modify").click(function () {
    $("#workList").load('@Url.Action("ModifyDuration", "ViewWork")');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM