Частичное рендеринг с использованием jQuery - PullRequest
1 голос
/ 14 января 2012

Я пытаюсь визуализировать частичное с помощью jQuery в MVC3. Я хочу сделать это, изменив HTML-код в разделе, чтобы его можно было обновлять при изменении выбора в раскрывающемся списке.

$(document).ready(function(){

    $("#partial-6").html(@Html.Partial("_Edit",Model.Groups[0]));

});

Не изменяет раздел при загрузке страницы. Просто говорит, что я там набрал "Я неравнодушен"

1 Ответ

2 голосов
/ 14 января 2012

Если код asp не добавляет кавычки, вам нужно будет это сделать. В противном случае вы не передаете строку в функцию .html():

$(function(){
    $('#drop-down-id').on('change', function () {
        $("#partial-6").html('@Html.Partial("_Edit",Model.Groups[0])');
    });
});

Это будет помещать один и тот же код в элемент #partial-6 каждый раз, когда изменяется элемент #drop-down-id. Если вы действительно хотите изменить информацию, которую вы вводите в элемент #partial-6, вам нужно будет сделать AJAX-вызов, чтобы вернуть частичное с сервера.

$(function(){
    $('#drop-down-id').on('change', function () {
        $.get('path/to/server-side.asp', { id : $(this).val() }, function (serverResponse) {
            $("#partial-6").html(serverResponse);
        });
    });
});

Это создаст запрос GET для сценария на стороне сервера, который отправляется с переменной GET id, для которой установлено значение раскрывающегося списка, при котором запускается код.

Обратите внимание, что .on() является новым в jQuery 1.7 и в этом случае совпадает с .bind().

...