2013-01-12 95 views
0

是有可能的DataTable對象傳遞給另一個控制對象作爲參數作爲休耕:如何通過DataTable對象作爲參數傳遞給對象控制

protected void DropDownlist2(string model) 
    { 
     qureyString = "Select modelcar from useritem where [email protected]"; 
     SqlCommand cmd = new SqlCommand(qureyString, 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)由於其保護級別而不可訪問

+0

即使你將其設爲'protected',你也不能將'DataTable'傳遞給click事件處理程序,因爲它的簽名是不同的('Object sender,Eventargs e)'。 –

回答

0

使您的Button1_Click方法protected

檢查,是Button1方法調用從DropDownlist2相同Button1_Click

更新

在您的下拉列表選擇事件處理程序,可以儲存您DataTable對象在窗體的一些字段或屬性。在與您的按鈕點擊相對應的事件處理程序中,您應該使用此字段進行操作。

+0

那麼我應該怎麼做才能將所有選定的數據從下拉列表傳遞到按鈕? –

+0

您認爲按鈕將如何處理DataTable?你不能說你期望按鈕來處理數據。你想達到什麼目的? –

+0

以及我在這裏試圖完成的是將填充數據的數據表傳遞給按鈕作爲參數,然後用DataTableReader讀取數據表我使用DataTableReader reader = dt.CreateDataReader()更新了這一行。而不是SqlDataReader dr = cmd.ExecuteReader();並嘗試創建圖像控件通過url的域名imageurl屬性 –

相關問題