DropDownItem не загружает элементы после обновления (Javascript) частичного представления - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть следующие функциональные возможности: пользователь регистрирует серию данных в форме, после отправки формы и сохранения ее в базе данных она перенаправляется во вторую форму, где она должна загрузить остальную информацию, этоВозможно, что во второй форме содержится много значений первой формы, но это не всегда так, поэтому во второй форме есть кнопка, которая позволяет «копировать» данные первой формы, чтобысократить ввод данных.

Как я сделал?

Я создал главное представление, где форма загружается как частичное представление с пустыми полями модели, чтобы пользователь мог вводить информацию, еслиэто не то же самое, что первая форма Главное представление:

    <div id="partialView">
        @Html.Partial("_CreatePartialResponsable", Model)
    </div>

В форме, содержащей частичное представление, существует раскрывающийся список, который заполняется через веб-службу.Это раскрывающееся окно корректно заполняется при первой загрузке пустой формы.

DropDownList в частичном представлении

        <div class="form-group col-md-6">
            @Html.LabelFor(model => model.SeguroNombre, htmlAttributes: new { @class = "titulocampo" })
            <select id="SeguroNombre" name="SeguroNombre" class="form-control"><option value=""></option></select>
             @Html.ValidationMessageFor(model => model.SeguroNombre, "", new { @class = "text-danger" })
        </div>

С этим сценарием загружается раскрывающийся список,Я вызываю его из основного представления в событии document.ready (оно отлично работает)

function llenaDropDownSeguros(url, valor) {

var data = { nombre: valor };
$.post(url, data).done(function (data) {
    if (data.isError) {
        muestraError(data.Titulo, data.Mensaje);
    } else {
        for (var i = 0; i < data.length; i++) {
            $('#SeguroNombre').append('<option value=' + data[i].codigoSeguro + '>' + data[i].descripcion + '</option > ');
        }
    }
});

};

Если пользователь хочет «скопировать» информацию из предыдущей формы,нажмите кнопку, которая выполняет следующую функцию js, чтобы перейти на сервер, выполнить поиск данных и вернуть тот же частичный вид, но с загруженными соответствующими полями.Re render?

Скрипт для "копирования" данных

function loadPartial(url, valor) {
$("#esperar").show();
var data = { cedula: valor };
$.post(url, data).done(function (data) {
    if (!data.isError) {
        $("#esperar").hide();
        $("#partialView").html(data);
    } else {
        $("#esperar").hide();
        muestraError(data.Titulo, data.Mensaje);
    }
}).fail(manejarErrorAjax);

};

В чем проблема?

Посленажата кнопка копирования, и частичное представление перезагружено с «скопированными» данными, элементы выпадающего списка больше не присутствуют.Я понимаю, что они потеряны, потому что, конечно, при перезагрузке частичного представления этот выпадающий список становится пустым, что я понял.Чего я не понимаю, так это того, что после перезагрузки этого частичного представления я не могу снова заполнить раскрывающийся список.В ходе теста я внес изменение, и в событии click ddl я вызвал функцию loadPartial, чтобы проверить, работает ли она, но, хотя в консоли браузера видно, что функция выполняется и объект данных принимает 94 значения,это они не загружаются в dll.

Можете ли вы помочь мне с этой проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...