He siguiente código simple:primer elemento de lista desplegable no se dispara SelectedIndexChanged en absoluto
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testForm.aspx.cs" Inherits="Orbs.testForm" %>
<html>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="dropdown1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="dropdown1_SelectedIndexChanged" ViewStateMode="Enabled">
<asp:ListItem Value="1" Text="Item 1" />
<asp:ListItem Value="2" Text="Item 2" />
<asp:ListItem Value="3" Text="Item 3" />
<asp:ListItem Value="4" Text="Item 4" />
<asp:ListItem Value="5" Text="Item 5" />
</asp:DropDownList>
<asp:Label runat="server" ID="label1"></asp:Label>
</form>
</body>
</html>
Y este es mi código detrás
using System;
namespace Orbs {
public partial class testForm: System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
label1.Text = "???!!";
}
protected void dropdown1_SelectedIndexChanged(object sender, EventArgs e) {
label1.Text = "Fired on " + dropdown1.SelectedValue;
}
}
}
Cuando la primera vez que entrar en la página, label1
muestra '???!!'
. Ahora selecciona un elemento del menú desplegable y label1
muestra el valor correcto, pero cuando selecciono primer elemento de menú desplegable, se muestra de nuevo en lugar de ???!!
Fired on 1
Dónde estoy haciendo mal?
Editar: Me di cuenta que si agrego Selected="True"
a cualquiera de los elementos en el menú desplegable, ese elemento se convierte en víctima y no activará el evento.
Ohhh, lo siento ¿puedes ver el punto de quiebre en el evento? – IamStalker
No, no está disparando cuando estoy seleccionando el primer elemento. Seleccionar el resto de los elementos lo activará – AaA
, así que no creo que el índice haya cambiado cuando está seleccionando el primer elemento, ya que en realidad es el mismo índice en el que está cargado – V4Vendetta