日期:2014-05-17  浏览次数:21078 次

求助,关于dropdownlist的使用
protected void Page_Load(object sender, EventArgs e)
  {
  int rounds = 3;
  int i = 1;
  while (i <= rounds)
  {
  DropDownList dropi = new DropDownList();
  int k = 1;
  while (k < 5)
  {
  dropi.Items.Add(k.ToString());
  k = k + 1;
  }
  Literal lt = new Literal();
  lt.Text = "<br>";
  orders.Controls.Add(dropi);
  orders.Controls.Add(lt);
  i = i + 1;
  }
需要在 protected void Button1_Click(object sender, EventArgs e)这个函数中,获取到生成的3个dropdownlist控件的值,该怎么获取呢?
我自己写的是用了一个循环i,然后提取dropi.Text,但是编译会报错,dropi没有定义。
该怎么做呢?急求!!


------解决方案--------------------
你 可以
for(int i = 0;i<Request.Params.Count;i++) 
Response.Write("<li>" + Request.Params.Keys[i].ToString() + " = " + Request.Params[i].ToString()); 
Response.Write("<hr>"); 

for(int i = 0;i<Request.Form.Count;i++) 
Response.Write("<li>" + Request.Form.Keys[i].ToString() + " = " + Request.Form[i].ToString());

遍历到所有的控件。再根据Keys的特征进行判断
DropDownList dropi = new DropDownList();
生成的时候指定一个id
dropi.ID="x___" + i

就可以判断 Request.Form.Keys[i].ToString().StartsWith("x___")判断


------解决方案--------------------
你在画面上隐藏三个dropdownlist控件,给他赋值,用的时候再取出来不行吗?反正隐藏着看不见,就不碍事,就是存取值。