强制复选框单击事件

时间:2013-04-13 14:47:03

标签: c# javascript asp.net

我有一个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函数单击复选框项

1 个答案:

答案 0 :(得分:0)

我建议在函数中添加一个参数,然后传入控件。这样您就可以处理onclick,并且可以在页面回发时调用该函数,即首次呈现动态复选框时。