kongalshiva549 Ответов: 1

Как установить значение id для элемента управления MVC dropdownlistfor


@Html.DropDownListFor(Function(model) model.StateId, New SelectList(ViewData("StateList"), "Id", "Name"), "--Select--")


Нужно установить значение Id для записи функции onchange

Что я уже пробовал:

pre> @Html.DropDownListFor(Function(model) model.StateId, New SelectList(ViewData("StateList"), "Id", "Name"), "--Select--", New{@Id="Country")

CHill60

И что происходит, когда вы пытаетесь установить это значение? Какую ошибку вы получаете?

kongalshiva549

Тип или с ожидаемым
)' ожидаемый.

F-ES Sitecore

Посмотрите на свой код;

@Html.DropDownListFor(функция(модель) модель.StateId, Новый Списка(ViewData("StateList"), "Идентификатор", "Имя"), "--Выберите--", Новые{@Идентификатор="Стране")

После "New" вы открываете фигурную скобку, но не закрываете ее

@Html.DropDownListFor(функция(модель) модель.StateId, Новый Списка(ViewData("StateList"), "Идентификатор", "Имя"), "--Выберите--", Новые{@Идентификатор="Стране"})

CHill60

Стоит выложить в качестве решения

kongalshiva549

Дали то же самое но все равно это дает ошибку

CHill60

Это та же самая ошибка?

kongalshiva549

$(документ).готово(функция () {


отладчик;
$("#CountryId").change(функция () {
var CountryId = parseInt($(this).val());

если (!isNaN(CountryId)) {
var ddlState = $('#StateId');
ddlState.пустые();
ddlState.append($("").val(").html('Пожалуйста, подождите ...'));
$.Аякс({
url: '/AEContact/GetStates?ID=' + CountryId,
тип: 'GET',
тип данных: 'json',
кэш: false,
данные: { CountryId: CountryId },
успех: функция (d) {
ddlState.пустой(); // сбросить пожалуйста, подождите
ddlState.функции append($("").функция val(").код HTML('выберите'));
$.каждая(d, функция (i, состояния) {
ddlState.функции append($("").вал(государствами.ИД).HTML(для государств.Название));
});
},
функция ошибок () {
предупреждение("ошибка!");
}
});
}
});
});

kongalshiva549

Я написал выше код , но когда я нажимаю на раскрывающийся список edit state, он не загружает данные

1 Ответов

Рейтинг:
7

Richard Deeming

Так как вы используете VB.NET, вам нужно использовать VB.NET синтаксис:

@Html.DropDownListFor(Function(model) model.StateId, New SelectList(ViewData("StateList"), "Id", "Name"), "--Select--", New With { .Id = "Country" })

Анонимные Типы (Visual Basic) | Microsoft Docs[^]


kongalshiva549

Спасибо за это.

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

Я сделал это, но при редактировании значение записи не загружается, как я дал ниже код, хотя модель содержит данные.
@Html.DropDownListFor(функция(модель) модель.StateId, New SelectList("", "Id", "Name"), "--Select--")
@Html.ValidationMessageFor(функция(модель) модель.StateId)

kongalshiva549

Загрузка Iam на основе события изменения

kongalshiva549

$(документ).готово(функция () {


отладчик;
$("#CountryId").change(функция () {
var CountryId = parseInt($(this).val());

если (!isNaN(CountryId)) {
var ddlState = $('#StateId');
ddlState.пустые();
ddlState.append($("").val(").html('Пожалуйста, подождите ...'));
$.Аякс({
url: '/AEContact/GetStates?ID=' + CountryId,
тип: 'GET',
тип данных: 'json',
кэш: false,
данные: { CountryId: CountryId },
успех: функция (d) {
ddlState.пустой(); // сбросить пожалуйста, подождите
ddlState.функции append($("").функция val(").код HTML('выберите'));
$.каждая(d, функция (i, состояния) {
ddlState.функции append($("").вал(государствами.ИД).HTML(для государств.Название));
});
},
функция ошибок () {
предупреждение("ошибка!");
}
});
}
});
});

kongalshiva549

Данные страны и дата состояния загружаются в модель , событие изменения не вызывается во время редактирования

Richard Deeming

Вы уже опубликовали это как отдельный вопрос:
https://www.codeproject.com/Questions/1276085/Load-dropdown-based-on-other-dropdown[^]

Я предлагаю вам отредактировать этот вопрос (используя зеленую ссылку "улучшить вопрос" ) и добавьте к этому дополнительную информацию.

kongalshiva549

можете ли вы обновить здесь, пожалуйста

Richard Deeming

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

Тогда кто-нибудь сможет определить, в чем проблема.

Я не собираюсь отвечать на несвязанные вопросы в комментариях.

kongalshiva549

@if(модель.CountryId) Тогда
@Html.DropDownListFor(функция(модель) модель.StateId, новый список выбора(AEDC.Data.География.GetStatesBycountryID(Модель.CountryId), "Id", "Name"), "--Select--")
@Html.ValidationMessageFor(функция(модель) модель.StateId)
Еще
@Html.DropDownListFor(функция(модель) модель.StateId, New SelectList("", "Id", "Name"), "--Select--")
@Html.ValidationMessageFor(функция(модель) модель.StateId)
Конец, Если