您现在的位置是:首页 >

event是做什么的 Asp.net 2.0 为用户控件添加event

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

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  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码