У меня есть приложение 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 не загружается с новыми значениями. Я не понимаю, что происходит ...