Ho seguente codice semplice:Primo elemento in DropDownList non scatta SelectedIndexChanged affatto
<%@ 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>
E questo è il mio codice dietro
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;
}
}
}
Quando la prima volta che entro nella pagina, label1
mostra '???!!'
. Ora seleziono un elemento dal menu a discesa e il valore corretto è label1
ma quando seleziono il primo elemento nel menu a discesa, viene visualizzato nuovamente ???!!
anziché Fired on 1
Dove sto sbagliando?
Modifica: ho notato che se aggiungo Selected="True"
a uno degli elementi nel menu a discesa, quell'elemento diventa vittima e non attiva l'evento!
Ohhh, scusa puoi vedere il punto di rottura dell'evento? – IamStalker
No, non si attiva quando seleziono il primo elemento. Selezionando il resto degli elementi lo sparerà – AaA
beh, non penso che l'indice sia cambiato quando si seleziona il primo elemento, dal momento che è in realtà lo stesso indice al quale è caricato – V4Vendetta