1

我有一个与 asp:checkboxlist 中每个复选框项目的单击事件相关联的 javascript 函数。但是,有一个选项,用户可以动态地将新项目添加到列表中。我已经成功完成了这段代码,添加了item,并且绑定了onclick事件的javascript函数。但是,当我将项目添加到列表时,我需要从后面的代码中运行一次 onclick 函数。如何从 C# 代码隐藏中简单地运行预先存在的 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()
    }

如果有帮助。如果我可以强制触发我刚刚添加的复选框的 onclick 事件,而不是直接调用 javascript 函数,那应该也可以,因为 javascript 函数被称为复选框项的 onclick

4

1 回答 1

0

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

于 2013-04-13T20:22:06.200 回答