Error en DropDownList utilizando ASP.NET
-
05-10-2019 - |
Pregunta
Tengo un DropDownList llamada (DDL) en la página ASP.net, quiero que DDL contiene algunos registros de una tabla en la base de datos.
Así que hice lo siguiente:
DDL.DataSource = myDataReader
DDL.DataBind()
Pero se me da (5 registros) "el número de registros de la tabla", pero como esto:
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
System.Data.Common.DataRecordInternel
Solución
Se debe establecer DataTextField y DataValueField, de lo contrario vinculantes llevará a cabo .ToString () en cada fila y ponerlo como elemento de datos:
DDL.DataSource = myDataReader;
DDL.DataTextField = "[Text column name]";
DDL.DataValueField = "[Value column name]";
DDL.DataBind();
Otros consejos
Usted tiene que fijar el texto y los campos principales de la ddl antes de que databind
DDL.DataTextField = "textColumn";
DDL.DataValueField = "textColumn":
El código: ddl.datasource=reader
se estaba poniendo el contenido presente en el lector (serie de columnas de la tabla) como la principal fuente de los datos
Ahora bien, como muestran ddl
sólo una única columna en ella de modo u necesidad de escribir una pieza de. código que indica a qué columna ddl
que tiene a la pantalla
Así que va a escribir:. ddl.textfield=
"nombre de la columna que desea mostrar";
y el nombre que desea ddl.valuefield="
column como referencia para pasar a la base de datos ";