【问题标题】:SqlDataSource refusing to cooperateSqlDataSource 拒绝合作
【发布时间】:2011-06-05 12:31:16
【问题描述】:

我正在尝试使用 SQL 数据库中的数据填充下拉列表,但我失败了。代码对我来说似乎没问题,但拒绝工作。

   SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names");
            sql_Names.DataSourceMode = SqlDataSourceMode.DataReader;
            ddl_names.DataSource = sql_Names;
            ddl_names.DataBind();

数据库连接正常。它在下拉列表中创建正确数量的条目(与 DB 中的行数相同),但它使用“System.Data.DataRecordInternal”(或“System.Data. DataRowView",如果模式设置为 DataSet)。

请帮忙...

【问题讨论】:

    标签: .net asp.net sql data-binding datasource


    【解决方案1】:

    您需要适当地设置 DataTextField 和 DataValueFields

    试试

    ddl_names.DataTextField = "name";
    ddl_names.DataValueField = "name";
    

    数据绑定之前

    【讨论】:

      【解决方案2】:

      您需要设置 ddl_names.DataTextField 和 ddl_names.DataValueField 属性。所以你的最终代码应该是这样的:

      SqlDataSource sql_Names = new SqlDataSource(WebConfigurationManager.ConnectionStrings[1].ConnectionString, "SELECT name FROM Names");
      sql_Names.DataSourceMode = SqlDataSourceMode.DataReader;
      ddl_names.DataTextField = "name";
      ddl_names.DataValueField = "name";
      ddl_names.DataSource = sql_Names;
      ddl_names.DataBind();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多