c# asp.net data-binding drop-down-menu selectedvalue

c# - Asp.NET DropDownList SelectedItem.Value no cambia



data-binding drop-down-menu (6)

Entonces, esta respuesta es la solución "obvia" a la causa más común. Sin embargo, hay otro problema más que puede causar esto. Los valores de mi lista provienen de una base de datos y los valores tienen linefeed y carriage return: "/ r / n". Estos valores parecen un espacio inocente, ¡pero en realidad no lo son! Mi solución fue eliminar estos valores escondidos de Char. Espero eso ayude.

margen:

<div style="float:left;margin-top:15px;width:80px"> <asp:DropDownList ID="MyList" runat="server" Width="100px"></asp:DropDownList> </div>

código:

// clear vehicles list MyList.Items.Clear(); // add ''all'' option MyList.Items.Add(new ListItem("ALL", "0")); // add assets foreach (CustomClass item in items) MyList.Items.Add(new ListItem(item.Name, item.ID.ToString()));

No se activa evento para SelectedIndexChanged ya que no es necesario.

Cuando hago clic en el botón para devolución de datos, el valor del elemento seleccionado sigue siendo el valor del primer elemento en DropDownList. ¿Qué me estoy perdiendo?

NOTA Deje de responder y editar publicaciones. Podemos dejarlo tal como está, ya que ya se ha respondido.


Es probable que el código se esté ejecutando también después de la devolución de datos, borrando la casilla, perdiendo así la selección y todo.

Si es así, intente empaquetar el código en algo como if( !Page.IsPostBack ) { ... } .


Hola, creo que estás completando tu menú desplegable en la carga de la página. Solo hazlo de la siguiente manera:

if(!Page.IsPostBack) { //Populate dropdown... }

Funcionará bien


Sí, falta agregar la lista desplegable Autopostback = true ..

Intente seguir en su página .aspx


Si está Page_Load datos en Page_Load , básicamente también está reiniciando el SelectedItem.

Debería envolver el código de enlace que existe en Page_Load dentro de un bloque if(!IsPostBack) .

if(!Page.IsPostBack) { // Your binding code here ... }


hey para el primer índice para agregar todo no requerido para agregar. necesitas insertar un número de índice particular

MyList.Items.Insert(0, "ALL");