2014-07-17 105 views
1

我想用後面的代碼創建的DDL列表,你可以在這裏看到的頁面:下拉列表後面刷新

public List<DropDownList> ddll = new List<DropDownList>(); 
for (int i = 0; i < 15; i++) 
{ 
    DropDownList ansList = new DropDownList(); 
    ansList.AutoPostBack = false; 
    ansList.DataSource = values1; 
    ansList.DataBind(); 
    ddll.Add(ansList); 
} 

正如你可以看到我設置autopostback屬性上false。但它不起作用當用戶更改selectedindex時,我的頁面被刷新。

Span1.Controls.Add(ddll[0]); 
Span2.Controls.Add(ddll[1]); 
Span3.Controls.Add(ddll[2]); 
Span4.Controls.Add(ddll[3]); 
Span5.Controls.Add(ddll[4]); 
Span6.Controls.Add(ddll[5]); 
Span7.Controls.Add(ddll[6]); 
Span8.Controls.Add(ddll[7]); 
Span9.Controls.Add(ddll[8]); 
Span10.Controls.Add(ddll[9]); 
Span11.Controls.Add(ddll[10]); 
Span12.Controls.Add(ddll[11]); 
Span13.Controls.Add(ddll[12]); 
Span14.Controls.Add(ddll[13]); 
Span15.Controls.Add(ddll[14]); 

在HTML代碼中,我有這樣的:

<span style="color:#ea0000;padding:0 10px;" id="Span6" runat="server"></span> 

回答

1

你第一次AutoPostBackfalse後來

我用這個加DDL到兩個陳述後的truefalsetrue覆蓋,當選定的索引被更改時,它現在應該回發。

ansList.AutoPostBack = false; 
    //...  

ansList.AutoPostBack = true; 

編輯您還可以使用添加使用FindControl(string id)通過ID來獲得跨跨度名單。

for(int i=0; i < 15; i++) 
    this.FindControl("Span"+i).Add(ddll[i]); 
+0

對不起這是我的語法錯誤,我改變了它,並再次同樣的錯誤 –

+0

構建頁面使用CTRL + F5它不應該做回發它刷新 – Adil

1

看看你的代碼

 for (int i = 0; i < 15; i++) 
     { 
      DropDownList ansList = new DropDownList(); 
      ansList.AutoPostBack = false; // Here You have set it false 
      ansList.DataSource = values1; 
      ansList.DataBind(); 
      ansList.AutoPostBack = true; // Here You have set it true again 
      ddll.Add(ansList); 
     } 
相關問題