Выпадающий список не выбирается

#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();
                        }

                    }