C# 如何将datatable对象作为参数传递给对象控件
是否可以将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
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中选择的数据表创建图像控件,何时按下按钮?