您现在的位置是:首页
>
event是做什么的 Asp.net 2.0 为用户控件添加event
A . et 2.0 为用户控件添加eve t 使用u er co trol的好处自不必说 但是作为一个控件 虽然实际上其中可能包含很多控件(服务端控件) 但是一旦在页面中注册使用 它就表现为一

Asp.net 2.0 为用户控件添加event
使用user control的好处自不必说 但是作为一个控件 虽然实际上其中可能包含很多控件(服务端控件) 但是一旦在页面中注册使用 它就表现为一个独立的控件 也就是说在编辑阶段 其包含的控件我们是访问不到的 或者说不能对其包含的控件进行控制 这个时候 就要通过为控件添加属性和事件来提供对外的接口 使得我们可以间接的控制其 子控件 用属性来控制其子控件的状态 而我们可以在外部访问并改变属性值 从而达到间接控制子控件的目的 当然如果子控件发生了什么事件 我们要想知道 就可以通过public event来获得 此Demo演示了 user control中datalist发生了selectedindex事件 而我们在page中想利用这个事件 那么就可以这样做 usercontrol: uc ascx <%@ Control Language= C# AutoEventWireup= true CodeFile= uc ascx cs Inherits= uc %><asp:DataList ID= dlshow runat= server RepeatDirection = Horizontal OnSelectedIndexChanged= dlshow_SelectedIndexChanged > <ItemTemplate > <asp:LinkButton ID= linkbtn runat= server CommandName= Select Text= <%#Container DataItem %> > </asp:LinkButton> </ItemTemplate></asp:DataList>CS: using System Collections Generic;public partial class uc : System Web UI UserControl{ public event EventHandler TabClick; private int index; public int Index { get { return index; } set { index = value; } } protected void Page_Load(object sender EventArgs e) { List<string> list = new List<string>(); list Add( tab ); list Add( tab ); list Add( tab ); list Add( tab ); dlshow DataSource = list; dlshow DataBind(); dlshow SelectedIndex = ; } protected void dlshow_SelectedIndexChanged(object sender EventArgs e) { Label lbl=this Parent FindControl( lblshow ) as Label; lbl Text = Access Parent Page Control ; index = dlshow SelectedIndex; TabClick(this null); }}page:showuc aspx: <%@ Page Language= C# AutoEventWireup= true CodeFile= ShowUc aspx cs Inherits= ShowUc %><%@ Register TagPrefix = my TagName = tab Src = ~/uc ascx %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >< xmlns= ><head runat= server > <title>未命名页面</title></head><body> <form id= form runat= server > <div> <my:tab ID= Mytab runat= server OnTabClick= Mytab_TabClick /> <br /> <asp:Label ID= lblshow runat= server Text= Label ></asp:Label> </div> </form></body></>CS: public partial class ShowUc : System Web UI Page{ protected void Page_Load(object sender EventArgs e) { } protected void Mytab_TabClick(object sender EventArgs e) { int index = Mytab Index; Response Write( You selected the index +index); }} lishixinzhi/Article/program/net/201311/12455 很赞哦! (1047)