首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 母版頁、內容頁與用戶控件傳值完整指南

     編輯:ASP.NET 基礎

一、內容頁存取用戶控件屬性

  1. 建立 .ascx 用戶控件,並定義公共屬性(如 HighLight)。
  2. 在 .aspx 頁面註冊並拖入控件,設定 ID(如 left_Repassword1)。
  3. 後端程式碼直接透過 ID 存取屬性:left_Repassword1.HighLight = value;

二、內容頁強類型存取母版頁

在內容頁頂端加入 @ MasterType 指令,指定母版頁虛擬路徑:

<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>

此後 this.Master 即為強類型母版頁實例,可直接存取其公共成員。

1. 存取母版頁控件

母版頁定義公共屬性包裝控件:

public TreeView ElementStructureTree
{
    get { return tvElementStructure; }
    set { tvElementStructure = value; }
}

內容頁呼叫:TreeView tv = Master.ElementStructureTree;

2. 存取母版頁屬性與方法

  • 值型別、參考型別、控件型別屬性皆可同樣方式存取。
  • 母版頁定義 public void SomeMethod(),內容頁直接 Master.SomeMethod()。

3. 母版頁呼叫內容頁方法(委派模式)

// 母版頁
public delegate void ElementSelectedChangeHandler();
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }

// 觸發時
if (ElementSelectedChange != null) ElementSelectedChange();

// 內容頁 Page_Load 指定實作
Master.ElementSelectedChange = this.ElementSelectedChange;

4. 重要設定

母版頁 @ Master 指令務必設定 AutoEventWireup="true",否則母版頁控件事件不會自動觸發。

三、母版頁存取內容頁用戶控件

同樣適用:母版頁中拖入用戶控件後,透過 ID 直接存取其公共屬性與方法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved