.ascx 用戶控件,並定義公共屬性(如 HighLight)。.aspx 頁面註冊並拖入控件,設定 ID(如 left_Repassword1)。ID 存取屬性:left_Repassword1.HighLight = value;在內容頁頂端加入 @ MasterType 指令,指定母版頁虛擬路徑:
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
此後 this.Master 即為強類型母版頁實例,可直接存取其公共成員。
母版頁定義公共屬性包裝控件:
public TreeView ElementStructureTree
{
get { return tvElementStructure; }
set { tvElementStructure = value; }
}
內容頁呼叫:TreeView tv = Master.ElementStructureTree;
public void SomeMethod(),內容頁直接 Master.SomeMethod()。// 母版頁
public delegate void ElementSelectedChangeHandler();
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }
// 觸發時
if (ElementSelectedChange != null) ElementSelectedChange();
// 內容頁 Page_Load 指定實作
Master.ElementSelectedChange = this.ElementSelectedChange;
母版頁 @ Master 指令務必設定 AutoEventWireup="true",否則母版頁控件事件不會自動觸發。
同樣適用:母版頁中拖入用戶控件後,透過 ID 直接存取其公共屬性與方法。