Online Service 在线服务
New Articles 最新更新
Hot Articles 热点文章
Google 广告
首页 … 技术文档 Technical Articles
如何触发模板列中控件的事件?
(时间:2007-5-12 23:58:14 共有 人次浏览)

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

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;
        //......
    }

打印 【打印该页】 【关闭窗口

此技术资料来自网络,仅供参考。未经许可,不得转载。
若有侵权,请及时与我们取得联系!
FAQS 常见问题
Consultation 即时咨询
Contact Us 联系我们