0

我正在动态创建一个包含两个下拉列表的表。我想在选择任一 DDL 时触发 OnClientClick 事件以执行一些 JavaScript,但看不到将 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);
}
4

2 回答 2

3

改变:

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

至:

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

请记住,Attributes 集合正在将HTML属性添加到选择列表中。OnClientClick是 的一个server-side属性DropDownList

于 2012-06-25T23:51:48.800 回答
1

您必须将 onclick 事件添加到选择标签。它不适用于单个选项标签。

于 2012-06-26T03:26:15.017 回答