简体   繁体   English

无法从INFORMATIONIX DB填充我的下拉列表

[英]Having trouble populating my drop down list from informix DB

Can't Populate the dropdown list . 无法填充下拉列表。 Can anyone help , possibly some tutorials on my mistakes? 任何人都可以提供帮助,也许可以提供一些有关我的错误的教程? I don't understand exactly how to populate my datasource. 我不完全了解如何填充我的数据源。 Pretty new to C# or ASP.Net so go easy on me. 对C#或ASP.Net来说还很陌生,所以对我容易。

protected void Button1_Click(object sender, EventArgs e)
{
    List<string> _newList = new List<string>();
    if (TextBox1.Text != null)
    {
        OdbcDataReader MapResult; //Data Reader
        Database db = new Database(); 
        string lat = "";
        string sql = " SELECT 
                            informix.dbimg_mstr_rec.doc_path 
                       FROM 
                            informix.dbimg_mstr_rec 
                      WHERE 
                            informix.dbimg_mstr_rec.doc_key 
                                = '" + TextBox1.Text + "'";
        try
        {

           MapResult = db.ExecQuery(sql, timeOut);
           if (MapResult.Read())
           {            
               lat = MapResult["doc_path"].ToString();               
               DropDown1.DataSource = _newList;
               DropDown1.DataTextField = "doc_path";
               DropDown1.DataValueField = "doc_path";
               form1.Controls.Add(DropDown1);
           } //end if
           MapResult.Close();
           db.CloseConnection();
           //end while
        }//end try
        catch (OdbcException ex)
        {
           errList.Add("[User] Error 109: " + ex.Message);
        } //end catch
        return;
     } //end if
     else
        return;
   }

It doesn't look like you're actually binding the dropdown anywhere in this code. 看起来您实际上并没有在此代码中的任何地方绑定下拉列表。 You need to do something like this: 您需要执行以下操作:

DropDown1.DataTextField = "doc_path";
DropDown1.DataValueField = "doc_path";
DropDown1.DataSource = dr.ExecuteReader();
DropDown1.DataBind();

Alternately, you can do this all in your page markup by using a SqlDataSource control. 或者,您可以使用SqlDataSource控件在页面标记中完成所有这些操作。

  <asp:SqlDataSource
      id="SqlDataSource1"
      runat="server"
      DataSourceMode="DataSet"
      ConnectionString="myConnString"
      SelectCommand="myStoredProcedure"
      >
  </asp:SqlDataSource>

  <asp:MyDropDownList id="DropDown1" runat="server" DataSource="SqlDataSource1"
       DataTextField="COLUMN_NAME" DataValueField="COLUMN_NAME" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM