如何触发模板列中控件的事件?

翻译|其它|编辑:郝浩|2007-05-08 13:12:55.000|阅读 2482 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

第一种方式,在前台页面代码中,捕获事件的方法,如:

QUOTE:
    <EditItemTemplate>
        <aspropDownList ID="ddl1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl1_SelectedIndexChanged">
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
            <asp:ListItem>3</asp:ListItem>
        </aspropDownList>
    </EditItemTemplate>
再从其后台代码中,添加事件处理代码:

QUOTE:
    protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
    ...{
        //.......
    }
第二种方式,在OnItemCreated事件的后台代码中,绑定要捕获的模板列控件(嵌套控件)的事件

QUOTE:
    private void rptForumGroups_ItemCreated(object sender, RepeaterItemEventArgs e)
    ...{

        if (e.Item.ItemType.ToString() == "Item" || e.Item.ItemType.ToString() == "AlternatingItem")
        ...{

            dgForums = (DataGrid)e.Item.FindControl("dgForums");    // 查找dgForums

            dgForums.DeleteCommand += new DataGridCommandEventHandler(dgForums_DeleteCommand);       // 捕获DeleteCommand事件

        }

    }
如何知道是那一行的控件触发了事件?
假如每一行数据中都用两DropDownList,ddl与自己行的另一ddl联动,前台页面代码:

QUOTE:
            <asp:Repeater ID="rptLoc" runat="server" OnItemDataBound="rptLoc_ItemDataBound">
                <ItemTemplate>
                    <aspropDownList ID="ddlCity" AutoPostBack="true" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged" runat="server">
                    </asp:DropDownList>&nbsp;<asp:DropDownList ID="ddlLoc" runat="server">
                    </asp:DropDownList><br />
                </ItemTemplate>
            </asp:Repeater>
后台代码:

QUOTE:
    protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
    ...{
        DropDownList ddl1 = sender as DropDownList;
            DropDownList ddl2 = ddl1.Parent.FindControl("ddlLoc") as DropDownList;
        //... int n = ((RepeaterItem)ddl1.Parent).ItemIndex;
        //......
    }


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP