0

テーブルにある動的に作成されたドロップダウンリスト(Page_Load中)のIDを取得しようとしており、それらのドロップダウンリストで選択された値を見つけて、これらの値をボタンクリックでテーブルまたはGridViewに保存します.これは、IDを割り当てた方法です( Page_Load イベントで)

         drd.ID = "dbaseid" + rowctr; 
         drd1id[rowctr]=drd1.ID;

rowctr は、各ドロップダウンに一意の ID を割り当てるためのインデックス変数です。

Page_Load から ID を取得するにはどうすればよいですか。IDを配列に保存してから、セッション変数を使用してみました:

         drdid[rowctr]=drd.ID;
         drd1id[rowctr]=drd1.ID;
         Session["drditem"]=drditem;
         Session["drd1item"]=drd1item;

そして、ボタンクリックイベント関数でIDを取得しようとしました:

         drdid=(string[])Session["drdid"];           
         drd1id=(string[])Session["drd1id"];
         string[] a =new string [50];
         for(int i =0;i<noodropdowns;i++)
         {
           a=drd1id[i];
           a.selectedindex//doesnt work !!
         }

実際の ID を取得して作業する方法はありますか? 私はasp.netを初めて使用します。初心者のように聞こえる場合はお詫び申し上げます。

4

3 に答える 3

1

GridView のすべてのドロップダウン リストをループしてドロップダウン リストを取得しようとしている場合は、

//Add the drop down as following in page load
drd.ID = "dbaseid"; //do not add dynamic id other wise you will not able to find it. 
                    //It client id would be different based upon its position in DOM


//loop over gridview row and get the control as following

foreach (GridViewRow row in grid.Rows)
{
   var ddl = row.FindControl("dbaseid") as DropDown;  
  //do what ever with the drop down 
}
于 2013-09-05T11:37:45.683 に答える
0

動的に作成されたドロップダウンリストはテーブルにあるとおっしゃいました。アナンドは、ドロップダウンリストの値を入力したい GridView ではなく、そのテーブルを参照していたと思います。そのため、テーブルの行をループして、ドロップダウン リスト ID を取得することができます。

于 2013-09-05T13:24:20.487 に答える