Saya yakin semua orang telah menggunakan fungsi halaman master bersarang di bawah ASP.NET 2.0. Fungsi ini sangat kuat dan memungkinkan pengguna membuat halaman template terlebih dahulu dan kemudian dengan mudah menerapkannya ke halaman lain. Selain itu, halaman templat dapat disarangkan, tetapi kita akan menemukan masalah dengan halaman templat yang disarangkan, yaitu, saat menggunakan halaman templat yang disarangkan, tidak ada cara untuk melakukan operasi visual pada halaman tersebut dalam keadaan tampilan desain, jadi bagaimana mengatasinya masalah? Saya mencari di blog orang asing dan menemukan metode yang diberikan oleh orang asing tersebut. Untuk saat ini, saya dapat mengambil jalan memutar untuk mengatasi masalah ini.
Kita dapat menulis kelas dasar bernama basepage.cs dan meletakkannya di direktori app_code. Di kelas ini, tambahkan kelas bernama basepage.cs.
Atribut runtimeMasterPageFile adalah tipe string yang menentukan file templat mana yang akan digunakan selama runtime dan menggantikan OnPreInit.
Caranya, kodenya adalah sebagai berikut:
Halaman Dasar kelas publik : Sistem.Web.UI.Halaman
{
string pribadi runtimeMasterPageFile;
string publik RuntimeMasterPageFile
{
mendapatkan
{
kembalikan runtimeMasterPageFile;
}
mengatur
{
runtimeMasterPageFile = nilai;
}
}
penggantian terproteksi void OnPreInit(EventArgs e)
{
jika (runtimeMasterPageFile!= null)
{
ini.MasterPageFile = runtimeMasterPageFile;
}
base.OnPreInit(e);
}
}
Selanjutnya, kita membuat halaman templat bernama mainmaster.master, menambahkan informasi header dan footer secara acak di dalamnya, meninggalkan placeholder konten bernama MainContent di tengah, dan kemudian membuat halaman templat bernama submaster.master, di mana
MasterPageFile="~/MainMaster.master", untuk menerapkan halaman template mainmaster, letakkan tabel dengan satu baris dan dua kolom, sebagai berikut:
<asp:Content ID="foo" ContentPlaceHolderId="MainContent" runat="server">
<tabel>
<tr>
<td lebar="300">
Kolom Kiri di SubMaster
<br />
<asp:ContentPlaceHolder ID="LeftColumn" runat="server">
</asp:ContentPlaceHolder>
</td>
<td>
Kolom Kanan di SubMaster
<br />
<asp:ContentPlaceHolder ID="RightColumn" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</tabel>
</asp:Isi>
Terakhir, di halaman aspx, tentukan ini
<%@ Page Language="C#" MasterPageFile="" RuntimeMasterPageFile="SubMaster.master" CodeFileBaseClass="BasePage" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Halaman Tanpa Judul" %>
Seperti yang Anda lihat, di sini, kami tidak mengatur properti masyterpage, tetapi menentukan properti RuntimeMasterPageFile sebagai
submaster.master, ini adalah templat yang dimuat saat runtime, dan atribut codefilebaseclass menentukan kelas basepage.cs yang baru saja kita tulis. Dengan cara ini, kita dapat melihat tarikan dalam status tampilan desain ASPX ini dan dapat menarik dan melepas desain.
Perlu dicatat bahwa menurut Microsoft, dikatakan bahwa versi VISUAL STUDIO berikutnya tidak akan memberikan dukungan penuh untuk mengalihkan status tampilan desain penuh saat templat disarangkan.
Saya sudah menyediakan download contoh artikel ini, klik disini untuk mendownload.