Как я могу сделать частичное представление с новыми данными, используя сообщение AJAX? - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь обновить партию новыми данными, используя ajax.Я использовал эту функцию в JavaScript:

function replace{
    $.ajax({
        url: '@Url.Action("DoThing", "Controller"),
        type: "POST",
        datatype: "actionresult",
        async: false,
        data: {itemCode: $("#ComboBox-input").val(), unitCode: @(Model.UnitCode)}
    });
}

И действие контроллера:

Public ActionResult DoThing(int itemCode, int unitCode)
{
    var aThing = new ExModel
                     {
                         ItemCode = itemCode,
                         UnitCode = unitCode
                     }
    return PartialView("_InPartial", aThing);
}

Теперь во время отладки я получаю к действию контроллера с данными, которые я отправил, но я нене знаю, как визуализировать частичное представление с возвращенными данными.

1 Ответ

2 голосов
/ 14 марта 2012

Во-первых, ваша частичная часть должна быть в элементе, на который вы можете ссылаться в js, например:

<div id="myPartialDiv"><!-- here your partial --></div>

Затем удалите тип данных (не обязательно) и добавьте метод успеха, который поместитответ сервера (ваш частичный ответ) в div:

function replace{
   $.ajax({
       url: '@Url.Action("DoThing", "Controller")',
       type: "POST",
       async: false,
       data: {itemCode: $("#ComboBox-input").val(), unitCode: @(Model.UnitCode)},
       success: function(response){
           $('#myPartialDiv').html(response);
       }
    });
}

Обычно вам не нужно делать это самостоятельно, я думаю, у вас будут свои причины.Но обычно вы должны использовать Ajax.ActionLink с AjaxOptions , где вы устанавливаете UpdateTargetId в myPartialDiv.

...