2013-04-13 53 views
1

我有一個javascript函數綁定到asp:checkboxlist中每個複選框項目的單擊事件。但是,用戶可以動態地將新項目添加到列表中。我已經成功地完成了這個代碼,添加了這個項目,並將javascript函數綁定到了onclick事件。但是,我需要從後面的代碼中運行一次onclick函數,因爲我將該項添加到列表中。我如何簡單地運行C#代碼隱藏的預先存在的JavaScript函數?force複選框單擊事件

protected void btnAddLang_Click(object sender, EventArgs e) 
{ 
     Healthline.ServiceRecords.DataHelper helper = new Healthline.ServiceRecords.DataHelper(); 
     Hashtable prms = new Hashtable(); 
     DataSet dsLangs = new DataSet(); 

     prms = new Hashtable(); 
     prms.Add("@LangName", txtOtherLanguages.Text); 

     dsLangs = helper.RunSP("mySP", prms); 

     if (dsLangs.Tables[0].Rows.Count > 0) 
     { 
      ListItem item = new ListItem(); 
      item.Value = dsLangs.Tables[0].Rows[0]["LanguageID"].ToString(); 
      item.Text = dsLangs.Tables[0].Rows[0]["Language"].ToString(); 
      chkTopLanguages.Items.Add(item); 
     } 

     foreach (ListItem listitem in chkTopLanguages.Items) 
     { 
      listitem.Attributes.Add("onclick", "GetLanguages()"); 
     } 

     //here I need to force an immediate call to the javascript function GetLanguages() 
    } 

如果有幫助。而不是直接調用javascript函數,如果我可以強制觸發我剛剛添加的複選框的onclick事件,那應該也可以,因爲javascript函數被稱爲onclick的複選框項目

+1

請提供一些代碼爲您的問題 –

+1

你見過這個問題嗎? http://stackoverflow.com/questions/5731224/calling-javascript-function-from-codebehind – diogod

+0

是的,我看着它,並嘗試了一些建議,但沒有任何工作。 –

回答

0

我會建議爲函數添加一個參數,並傳入控制權。通過這種方式,您可以處理onclick,並且您可以在頁面回傳時(即動態複選框首次呈現時)調用該函數。

+0

這不是一個答案,而是一個評論。 OP正在詢問如何從後面的代碼中「觸發」onclick()事件,這正是我所追求的。 – Fandango68

相關問題