Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将datatable对象作为参数传递给对象控件_C#_Asp.net_Database_Object_Datatable - Fatal编程技术网

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

C# 如何将datatable对象作为参数传递给对象控件,c#,asp.net,database,object,datatable,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.Paramet

是否可以将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();
} 
由于某种原因,我得到了这个错误

按钮1\u单击(System.data.datatable)由于其保护级别而不可访问


使您的
按钮1\u单击
方法
受保护

检查,从
DropDownlist2
调用的
Button1
方法是否与单击
Button1\u
相同

更新


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

即使您将其设置为
受保护
也不能将
数据表
传递给单击事件处理程序,因为它的签名不同(
对象发送者,Eventargs e)
。那么我应该怎么做才能将数据表及其所有选定数据从droplist传递到按钮?您认为按钮对数据表有什么作用。你不能期望按钮处理数据。你想做什么?我想做的是把填充数据的datatable作为参数传递给按钮,然后用DataTableReader读取datatable我更新了这一行我使用DataTableReader=dt.CreateDataReader();而不是SqlDataReader dr=cmd.ExecuteReader();并尝试创建图像控件,将url字段传递给imageurl属性请任何人帮助我,我非常需要它。是否要根据droplist中选择的数据表创建图像控件,何时按下按钮?