ASP. NET Поле со списком Telerik не обновляется новыми значениями - PullRequest
0 голосов
/ 16 января 2020

У меня есть приложение ASP. NET MVC, которое использует элементы управления Telerik. Я новичок в средствах управления Telerik.

В моем представлении asp. net (.cs html) я определил ниже поле со списком Telerik:

<div class="inline-form-field">
    <label>@Ubicaciones.lblTipoVia.ToUpper()</label>
    @(Html.Telerik().DropDownListFor(t => t.tipoViaId)                              
        .BindTo(new SelectList(@ViewBag.tiposVia, "tipoViaId", "descripcion"))
    .HtmlAttributes(new { style = "width: 190px;" })

    )
</div>

Позже в том же Представьте, когда условие выполнено, я вызываю нижеприведенную функцию javascript, чтобы обновить поле со списком новыми значениями, поступающими из функции в ASP. NET MVC controller:

function cargarTiposVia(){        
    var comboTiposVia = $('#tipoViaId').data('tDropDownList').value();
    var actionUrl = '@Url.Action("GetTiposVia", "Ubicaciones")?municipioId=' + $('#codigoMunicipio').val() + '&localidadId=' + $('#codigoLocalidad').val() ;
    $.ajax({
        url: actionUrl,
        async:false,
        type: "POST",
        traditional: true,
        success: function (data) {
            if (data)
            {       
                comboTiposVia.dataBind(data);
            }
        }
    });
}

Ниже функции GetTiposVia в контроллере ASP. NET MVC:

    public JsonResult GetTiposVia(string municipioId, string localidadId)
    {
        CommonManager commonManager = new CommonManager(currentUserSociedadId);
        List<My.DTOs.TipoViaDTO> tiposVia = commonManager.getTiposViaByMunicipio(municipioId);
        //ViewBag.tiposVia = tiposVia;
        return Json(new SelectList(tiposVia, "tipoViaId", "descripcion"), JsonRequestBehavior.AllowGet);
    }

Ajax результат - успех (я проверил, поставив предупреждение), поэтому comboTiposVia.dataBind (data) выполняется, но combox не загружается с новыми значениями. Я не понимаю, что происходит ...

1 Ответ

0 голосов
/ 18 января 2020

Я решил. Проблема заключалась в том, что я взял текущее выбранное значение в поле со списком, а не экземпляр со списком.

Изменение:

var comboTiposVia = $('#tipoViaId').data('tDropDownList').value();

на

var comboTiposVia = $('#tipoViaId').data('tDropDownList');

работает.

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