#asp.net
#asp.net
Вопрос:
Когда я передаю строковое значение в выпадающий список, оно не выбирается. Я не уверен, почему?
Я попытался передать значение, например: ddlInitialIncidentType.Items.FindByValue("1").Selected = true;
напрямую, которое работает нормально.
protected void btnIncTypeSave_Click(object sender, EventArgs e) {
string value;
if (rbIncTypeY.Checked == true) {
//getting the value number from the Label
value = label.Text;
ddlInitialIncidentType.ClearSelection();
//here I want to select the dropdown with the value number
ddlInitialIncidentType.Items.FindByValue(value).Selected = true;
}
}
Примечание: Я присваиваю значение метке в приведенном ниже методе
function prioritySelection(sender) {
var e = document.getElementById(sender.id);
e = e.value;
if (e == 2 || e == 4 || e == 1 || e == 3)
{
$('#<%=lblInitialIncidentTypeCurrent.ClientID%>').html(e); $find("ContentPlaceHolder1_ContentPlaceHolder2_ModalPopupIncidentTypeChange").show();
}
Комментарии:
1. Нелегко угадать, когда выполняется этот код. Попробуйте добавить больше кода в свой вопрос, отредактировав его, чтобы мы могли знать последовательность кода.
2. Привет, Гаган Дип, я обновил код.
3. вы проверили, получаете ли вы значение в вашей метке при нажатии кнопки.
Ответ №1:
защищенная пустота btnIncTypeSave_Click(отправитель объекта,EventArgs e) { строковое значение; если (rbIncTypeY.Проверено == истина) {
значение=метка.Текст; // вы проверяли здесь, что значение получает значение или нет?} }
Комментарии:
1. Значение присутствует в метке, я проверил это, но я не уверен, является ли это процедурой для сохранения значения метки в строке
2. Вы заполняете свой combobox значением label.text? я думаю, что ddlInitialIncidentType. Товары. Найдите значение (value). Выбранный не может найти «значение», поэтому он возвращает false.
Ответ №2:
В вашем коде javascript вы использовали идентификатор элемента управления Label как lblInitialIncidentTypeCurrent
где, поскольку в вашем коде на стороне сервера вы используете какой-либо другой элемент управления Label.
Замените это
value = label.Text;
с
value = lblInitialIncidentTypeCurrent.Text;
Комментарии:
1. Извините, это была моя ошибка при копировании его сюда.
Ответ №3:
Возникла некоторая проблема с использованием метки для хранения значения. Но с помощью HiddenField это решается. Спасибо всем за предоставленные ответы. ниже приведен код для него,
//aspx.cs
<asp:HiddenField ID="hdtest" runat="server" />
protected void btnIncTypeSave_Click(object sender, EventArgs e)
{
string value;
if (rbIncTypeY.Checked ==true)
{
value = hdnIncType.Value;
ddlInitialIncidentType.ClearSelection();
ddlInitialIncidentType.Items.FindByValue(value).Selected = true;
ModalPopupIncidentTypeChange.Hide();
rbIncTypeY.Checked = false;
}
}
//aspx
function prioritySelection(sender) {
var e = document.getElementById(sender.id);
e = e.value;
if (e == 2 || e == 4 || e == 1 || e == 3) {
$('#<%=hdtest.ClientID%>').val(e);
$find("ContentPlaceHolder1_ContentPlaceHolder2_ModalPopupIncidentTypeChange").show();
}
}