用户控件的使用

 

    用户控件是一种复合控件,工作原理非常类似于 ASP.NET 网页 - 您可以向用户控件添加现有的 Web 服务器控件和标记,并定义控件的属性和方法。然后可以将控件嵌入 ASP.NET 网页中充当一个单元。

 在页面中用用户控件的时候,在前台代码中加<%@ Register Src="控件源" TagName="标签名称" TagPrefix="标签前缀" %>
eg:
<%@ Register Src="~/MyMenu.ascx" TagName="MyMenu" TagPrefix="aaa" %>

页面上访问用户控件中的数据 
方法一:
使用用户控件的FindControl方法,找到用户控件中的控件,进一步取得其数据(不需要在控件中处理,但是需要知道用户控件中要使用的控件的ID)
如(从数据库中读取省份和城市,分别放在用户控件的下拉列表中):
        DropDownList ddl = this.City1.FindControl("DropDownList1") as DropDownList;
        if (ddl != null)
        {
            this.Label1.Text = "省份:" + ddl.SelectedItem.Text + "(" + ddl.SelectedValue + ")";
        }
        ddl = this.City1.FindControl("DropDownList2") as DropDownList;
        if (ddl != null)
        {
            this.Label1.Text += "城市:" + ddl.SelectedItem.Text + "(" + ddl.SelectedValue + ")";
        }
方法二:
为控件增加属性(方法),使用该属性访问用户控件中的数据(在目标页面中使用时,简单,但是不够灵活)

用户控件中访问页面中的控件
方法一:
  在用户控件中使用Parent属性找到页面,再通过FindControl方法找到要访问的控件
方法二:
 为用户控件添加事件,在页面中处理事件,进而实现在控件中访问页面中的控件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章