2013-02-24 2 views
0

у меня есть три dropdownlists с autopostaback=true, но проблема в том, что для второго dropdownlist называется только pageload но это selectedindexchanged не стрелять! что я могу сделать? (dropdownlists в updatepanel)SelectedIndexChanged события не стрельбы

EDIT: 
protected void Page_Load(object sender, EventArgs e) 
    { 
     if (DDL_d1.Items.Count == 0) 
     { 
      SqlDataReader dr = null; 
      DbAccessor db = new DbAccessor(); 
      dr = db.SqlSelectS("true", "SELECT Fname FROM [Tbl_Amoozesh]"); 
      DDL_d1.Items.Clear(); 
      while (dr.Read()) 
       DDL_d1.Items.Add(dr[0].ToString()); 
      db.Dispose(); 
     } 
    } 
    protected void d1(object sender, EventArgs e) 
    { 

     DDL_d1.AutoPostBack = false; 
     SqlDataReader dr = null; 
     DbAccessor db = new DbAccessor(); 
     dr = db.SqlSelectS(DDL_d1.SelectedValue,"SELECT Fname FROM [Tbl_Amoozesh] where Fname = @a"); 
     DDL_d2.Items.Clear(); 
     DDL_d2.Items.Add(new ListItem("hi")); 
     while (dr.Read()) 
      DDL_d2.Items.Add(dr[0].ToString()); 
     db.Dispose(); 




    } 
    protected void d2(object sender, EventArgs e) 
    { 

     SqlDataReader dr = null; 
     DbAccessor db = new DbAccessor(); 
     dr = db.SqlSelectS(DDL_d2.SelectedValue, "SELECT Lname FROM [Tbl_Amoozesh] where Fname = @a"); 
     DDL_d3.Items.Clear(); 
     while (dr.Read()) 
      DDL_d3.Items.Add(dr[0].ToString()); 
     db.Dispose(); 

    } 
+1

У вас есть какие-либо вызовы «DataBind» при загрузке? удалите их. DataBinds должен выполняться только при первом запросе, когда 'IsPostBack' является ложным. – nunespascal

+0

Отправьте свой код –

ответ

1

Вы должны поставить асинхронный триггер в вашем UpdatePanel. Попробуйте следующее:

<asp:UpdatePanel id="up1" runat="server" updatemode="conditional"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" /> 
    </Triggers> 
    <ContentTemplate> 
     <%-- your content here --%> 
     <asp:DropdownList id="ddl" AutoPostback="true" OnSelectedIndexChanged="handler" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

, но проблема в последнем параметре SelectedIndexChanged не запускается (только один раз стреляет) для других элементов в порядке –

Смежные вопросы