0

Jquery と一緒に MVC C# を使用しています。ユーザーがビューから一部のデータを変更するたびに更新する必要がある部分ビューがあります。問題は、部分ビューが更新されないことです。部分ビューを更新するにはどうすればよいですか?

部分ビュー (WorkReport) からの jquery コード

 $("#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
        });
    }
4

3 に答える 3

1

以下を使用して、JQueryでパーシャルをロードすることにはるかに成功しました。

$("#modify").click(function () {
    $("#workList").load('/ViewWork/ModifyDuration');
}
于 2013-01-27T17:26:10.430 に答える
1

これを使用できますが、page.or を使用して load を正しく選択してください。

$("#modify").load('@Url.Action("ModifyDuration", "ViewWork")');
于 2013-01-27T17:20:26.963 に答える
0

パス (リンク) をハードコーディングするのはよくないので、常に@Url.Action()メソッドを使用してください。あなたのコードは

$("#modify").click(function () {
    $("#workList").load('@Url.Action("ModifyDuration", "ViewWork")');
}
于 2013-01-28T23:36:09.997 に答える