невозможно сохранить выпадающий список.Выбранное значение после отключения / повторного включения

#c# #html #asp.net #twitter-bootstrap

#c# #HTML #asp.net #twitter-bootstrap

Вопрос:

ASP:DropDownList На моей странице aspx у меня есть следующее:

 <label>OT Code No.</label>
<asp:DropDownList runat="server" ID="ddlOvertimeCode" class="form-control" TabIndex="1"></asp:DropDownList>
  

Который отображается следующим образом в HTML:

 <select name="ctl00$MainContentPlaceHolder$ddlOvertimeCode" id="MainContentPlaceHolder_ddlOvertimeCode" tabindex="1" class="form-control">
    <option selected="selected" value="0">-Select-</option>
    <option value="1">1 - 10B PLES</option>
    <option value="2">2 - Investigation</option>
    <option value="3">3 - Arrest</option>
    <option value="4">4 - Misc</option>
    <option value="5">5 - EWW</option>
    <option value="6">6 - Holiday</option>
    <option value="7">7 - In-Lieu Holiday</option>
</select>
  

При отправке формы я отключаю DropDownList использование следующего кода в моем файле .cs

 ddlOvertimeCode.Attributes.Add("disabled", null);
  

Я пробовал другие методы отключения dropdownlist , однако все они либо переопределяли стиль начальной загрузки списка, либо оставляли выпадающий список доступным для изменения, несмотря на то, что он был выделен серым цветом и доступен только для чтения. Добавление disabled атрибута — единственный способ, который я смог найти, чтобы выделить поле серым цветом, оставив его стиль нетронутым.

проблема возникает, когда пользователь удаляет форму, снова делая ее доступной для редактирования, и код повторно включает dropdownlist использование того же метода:

 ddlOvertimeCode.Attributes.Remove("disabled");
  

удаление disabled атрибута сбрасывает dropdownlist и оставляет меня неспособным изменять DropDownList.SelectedValue из-за кода.

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

Ответ №1:

проверьте, есть ли AutoPostBack=»True»

код спасибо

Комментарии:

1. Я думаю, это должен быть комментарий, а не ответ?

2. Я не указал значение для автоматической отправки, что означает, что по умолчанию оно будет равно false . Приведет ли изменение этого к желаемым результатам? Если да, нужно ли мне добавить его на страницу aspx или мне нужно установить для AutoPostBack значение «True» в коде в другой точке кода?

3. по умолчанию АвтоОтпрАвка имеет значение false . вы должны изменить его на true . вы можете сделать это, выбрав другой путь :