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
¿Fue útil?

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 ";

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top