aspx 頁面與ascx用戶控件傳值的問題
1.建立ascx控件
2.給ascx加上屬性
3.將控件拖入aspx中
4.在aspx的代碼中按控件ID訪問屬性
如: <uc3:left_Repassword ID="left_Repassword1" runat="server" />
left_Repassword1.HighLight = value;
也同樣適用於master頁面訪問ascx
ASP.Net訪問母版頁(MasterPage)控件、屬性、方法及母版頁中調用內容頁的方法
總結了一下ASP.Net訪問母版頁(master)控件、屬性、方法及母版頁中調用內容頁(aspx)的方法,供大家參考:
首先,必須通過內容頁中的MasterTye指令,對母版頁實施強類型化,即在內容頁代碼頭的設置中增加如下指令
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath設置母版頁URL地址。
1.獲取母版頁控件引用。
示例代碼
復制代碼 代碼如下:
/// <summary>
/// 獲取對母板頁中一個TreeView控件的引用
/// </summary>
public TreeView ElementStructureTree
{
get
{
return tvElementStructure;
}
set
{
tvElementStructure = value;
}
}
如 上代碼所示,在母版頁中定義一個公共屬性ElementStructureTree,該屬引用了母版頁中tvElementStructure控件,然後 在內容頁中就可以通過公共屬性Master(核心對象Page的一個屬性)來引用母版頁中tvElementStructure控件,如下:
TreeView tv = Master.ElementStructureTree;
2.訪問母版頁屬性。
母版頁中的屬性一般有三種:值類型、類類型、控件類型,上面的“獲取母版頁控件引用”實際上就是訪問控件類型屬性,其它兩種類型的屬性可以用同樣的方法訪問。
3.調用母版頁方法。
母版頁中定義的公共方法可以通過Master直接調用。
4.母版頁中調用內容頁的方法。
母版頁中定義委托:
public delegate void ElementSelectedChangeHandler();
母版頁中實例化委托(又是一個屬性):
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }
在母版頁中需要的地方調用委托:
復制代碼 代碼如下:
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}
內容頁中指定一個與委托簽名匹配的方法:
Master.ElementSelectedChange = this.ElementSelectedChange;
5.Master頁的AutoEventWireup屬性一定要設置為"true",才會自動觸發Master頁中控件的所有事件。