我有一个javascript函数绑定到asp:checkboxlist中每个复选框项的click事件。但是,有一个选项,用户可以动态地将新项目添加到列表中。我已经成功完成了这段代码,添加了项目,并且javascript函数与onclick事件相关联。但是,我需要从后面的代码中运行一次onclick函数,因为我将项目添加到列表中。如何从C#codebehind运行预先存在的javascript函数?
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函数单击复选框项
答案 0 :(得分:0)
我建议在函数中添加一个参数,然后传入控件。这样您就可以处理onclick
,并且可以在页面回发时调用该函数,即首次呈现动态复选框时。