0

次のように、データテーブルオブジェクトを別のコントロールオブジェクトにパラメーターとして渡すことは可能ですか:

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) にアクセスできません

4

1 に答える 1

0

あなたのButton1_Click方法を作りなさいprotected

チェック、Button1メソッドは?DropDownlist2と同じから呼び出されButton1_Clickますか?

アップデート

ドロップダウンリスト選択イベントハンドラーDataTableで、フォームのフィールドまたはプロパティにオブジェクトを格納する必要があります。ボタンクリックに対応するイベントハンドラーでは、このフィールドを操作する必要があります。

于 2013-01-12T21:28:24.120 に答える