Как добавить OnClientClick в DDL в C# коде

Я динамически создаю таблицу, которая содержит два раскрывающихся списка. Я хочу запустить событие OnClientClick для выполнения некоторого JavaScript, когда выбран какой-либо из DDL, но не вижу способа добавить OnClientClick в DDL. Вот код, как он в настоящее время сидит. Я попытался добавить OnClientClick к элементу, но он не работает.

HtmlTableCell tableCell = new HtmlTableCell();
tableCell.Attributes.Add("class", cssPageGroups);

DropDownList ddlPageGroups = new DropDownList();
ddlPageGroups.Attributes.Add("class", cssPageGroupsDDL);
ddlPageGroups.ID = "ddlPageGroups";
ddlPageGroups.AutoPostBack = true;
ddlPageGroups.SelectedIndexChanged += new EventHandler(pageGroupChange);

for (int pg = 1; pg <= maxPageGroups; pg++)
  {
    int groupFirstPageNumber = (int)(1 + (maxVisiblePageNumbers * (pg - 1)));
    int groupLastPageNumber = groupFirstPageNumber + (maxVisiblePageNumbers - 1);
    if (totalPages < groupLastPageNumber)
    {
     groupLastPageNumber = totalPages;
    }
    string group = String.Format("{0} ... {1}", groupFirstPageNumber.ToString(), groupLastPageNumber.ToString());
    ListItem groupItem = new ListItem(group, ((groupFirstPageNumber - 1) * pageSize).ToString());
    if (pageGroup == pg)
    {
      groupItem.Selected = true;
    }
    groupItem.Attributes.Add("OnClientClick", "javascript:showSearching();");
    ddlPageGroups.Items.Add(groupItem);
}

2 ответа

Изменить:

ddlPageGroups.Attributes.Add("OnClientClick", "javascript:showSearching();");

Для того,чтобы:

ddlPageGroups.Attributes.Add("onclick", "showSearching();");

Помните, что коллекция Attributes добавляет атрибуты HTML в список выбора. OnClientClick это server-side атрибут для DropDownList,

Вы должны добавить событие onclick к тегу select. Он не будет работать с тегами отдельных опций.

Другие вопросы по тегам