如何将datatable对象作为参数传递给对象控件

时间:2013-01-12 21:26:40

标签: c# asp.net database object datatable

是否可以将datatable对象作为参数传递给另一个控件对象,如下所示:

protected void DropDownlist2(string model)
{
     queryString = "Select modelcar from useritem where typecar=@model";

     SqlCommand cmd = new SqlCommand(queryString, useritemConnectionString1);
     cmd.Parameters.AddWithValue("@model", model);

     useritemConnectionString1.Open();

     DataTable dt = new DataTable();
     SqlDataAdapter ad = new SqlDataAdapter(cmd);
     ad.Fill(dt);

     if (dt.Rows.Count > 0)
     {
         DropDownList2.DataSource = dt;
         DropDownList2.DataBind();
     }

     useritemConnectionString1.Close();
     Button1(dt);
 }

 private void Button1_Click(DataTable dt)
 {   
     SqlDataReader dr = cmd.ExecuteReader();

     if(dr.HasRows)
     { 
         while (dr.Read()) 
         { 
              System.Web.UI.WebControls.Image imgControl = new System.Web.UI.WebControls.Image();
              HtmlGenericControl paraContainer = new HtmlGenericControl("p");
paraContainer.Controls.Add(imgControl);
              PlaceHolder1.Controls.Add(paraContainer);

              //Get Image Information
              imgControl.ImageUrl = dr["Image"].ToString();
          } 
    } 
    else  
        dr.Close();
} 

出于某种原因,我收到此错误

  由于其保护级别

button1_Click(System.data.datatable)无法访问

1 个答案:

答案 0 :(得分:0)

制作Button1_Click方法protected

检查,来自Button1的{​​{1}}方法是否与DropDownlist2相同?

<强>更新

在您的下拉列表选择事件处理程序中,您应该将Button1_Click对象存储在表单的某个字段或属性中。在与您的按钮单击对应的事件处理程序中,您应该使用此字段进行操作。