Обратите внимание, что проблема, описанная ниже, является почти полной противоположностью общей проблеме «мой элемент управления показывает одно и то же значение каждый раз при загрузке страницы. 1003 *
У меня есть список, который привязывается к данным в событии загрузки страницы даже при обратной передаче.
Когда удаляется обработчик события для выбранного выбранного индекса, элемент управления каким-то образом имеет опубликованное значение, даже если он уже был снова связан и не должен иметь выбранного индекса в этот момент.
Кто-нибудь знает, как это возможно?
EDIT:
Чтобы продемонстрировать, что SelectedIndex действительно сброшен, вы можете создать форму со следующей простой разметкой:
<label for="textbox1">Original Posted Value: </label>
<asp:TextBox runat="server" ID="textbox1" />
<asp:DropDownList runat="server" ID="dropdown" OnSelectedIndexChanged="dropdown_SelectedIndexChanged" AutoPostBack="true" />
<label for="textbox2">Value at point handler is hit: </label>
<asp:TextBox runat="server" ID="textbox2" />
Со следующим кодом в .cs
protected void Page_Load(object sender, EventArgs e)
{
textbox1.Text = dropdown.SelectedIndex.ToString();
dropdown.DataSource = new string[] { "none", "A", "B", "C" };
dropdown.DataBind();
}
protected void dropdown_SelectedIndexChanged(object sender, EventArgs e)
{
textbox2.Text = dropdown.SelectedIndex.ToString();
}
Обратите внимание, что значение во втором текстовом поле всегда будет равно 0.