2012-05-04 51 views
1

//我的問題是當我異步觸發ddlmodalitylist的SelectedIndexChanged事件(ajax調用)時,javascript load事件不會被解僱..這就是我必須從服務器端觸發onload事件。在SelectedIndexChanged事件發生後調用javascript window.onload失敗

window.onload = body_Onload; 

    function body_Onload() { 
     //javascript code 
     } 

    protected void ddlModalityList_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      ddlStudy.Items.Clear(); 
      ListItem selectedPair = ddlModalityList.SelectedItem; 
      string str= selectedPair.Value; 

      int ID= Convert.ToInt32(str); 

      if (ID == -1) 
      { 
       // ddlStudy.Items.Clear(); 
       return; 
      } 



      DataTable dataTableStudy = null; 
      dataTableStudy = objSqlDbComm.ExecuteDatasetQuery(strSQL).Tables[0]; 

      var dictioneryStudy = new Dictionary<int, string>(); 
      foreach (DataRow dr in dataTableStudy.Rows) 
      {   

       dictioneryStudy.Add(Convert.ToInt32(dr["Study_ID"]), dr["Study_Desc"].ToString()); 
      } 

      ddlStudy.DataTextField = "Value"; 
      ddlStudy.DataValueField = "Key"; 
      ddlStudy.DataSource = dictioneryStudy; 
      ddlStudy.DataBind(); 
      ddlStudy.Items.Insert(0, new ListItem("[Select]", "-1")); 
      ddlStudy.Items[0].Selected = true; 

     } 

回答

0
Sys.Application.add_init(your_bodyload_function); 
0

什麼讓你的ajax調用,你在更新面板?

+0

「ASP.NET AJAX客戶端框架未能加載」得到一個錯誤,在查看源代碼頁 –

+0

是在即時更新面板 –

+0

好吧,我還是有點貴的問題感到困惑,但如果您在更新面板,並且想要在異步回發後觸發客戶端功能,您可以將此代碼塊添加到您的JavaScript Sys.WebForms.PageRequestManager.getInstance()。add_endRequest(EndRequestHandler); function EndRequestHandler(sender,args){ if(args.get_error()== undefined){ functionToFire(); } } – Machinegon

相關問題