在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
你可以在控制页中完成许多公共的编程任务:
访问控制页中的成员
为了对控制页的成员进行访问,
例如,你可以有一个名为 MasterPage.master 的控制页,该控制页的类名是 <%@ Page masterPageFile="~/MasterPage.master"%> <%@ MasterType virtualPath="~/MasterPage.master"%>
当你使用 CompanyName.Text = Master.CompanyName;
在这之前,页面的 获取控制页中的控件属性值
在运行时,控制页会与内容页进行合并,所以控制页中的控件可以被内容页中的代码进行访问。(如果控制页中的
如下实例显示了如何才可以从控制页中获取控件的引用。该实例中的 // 获取 ContentPlaceHolder 中的一个 TextBox 控件的引用 ContentPlaceHolder mpContentPlaceHolder; TextBox mpTextBox; mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1"); if(mpContentPlaceHolder != null) { mpTextBox = (TextBox) mpContentPlaceHolder.FindControl("TextBox1"); if(mpTextBox != null) { mpTextBox.Text = "TextBox 已找到!"; } } // 获取位于 ContentPlaceHolder 控件之外的一个 Label 控件的引用 Label mpLabel = (Label) Master.FindControl("masterPageLabel"); if(mpLabel != null) { Label1.Text = "控制页的标签 = " + mpLabel.Text; }
你可以使用 动态绑定控制页
除了对控制页的引用进行声明(在 void Page_PreInit(Object sender, EventArgs e) { this.MasterPageFile = "~/NewMaster.master"; } 控制页的动态强类型转换
如果内容页使用
如下实例显示了如何创建用于多个控制页的控制页基类型。该实例由一个继承自 如下实例是控制页基类型。 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public class BaseMaster : System.Web.UI.MasterPage { public virtual String MyTitle { get { return "BaseMaster 的标题"; } } }
如下实例是第一个控制页,它显示了兰色的背景。请留意 <%@ Master Language="C#" Inherits="BaseMaster" ClassName="MasterBlue" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> // 没有任何属性对控制页基类的 MyTitle 属性进行重载。 </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <title>无标题</title> </head> <body> <form > <div style="background-color:LightBlue"> <asp:contentplaceholder runat="server"> MasterBlue 的内容。 </asp:contentplaceholder> </div> </form> </body> </html>
如下实例是第二个控制页。几乎与第一个控制页一样,不同的是显示的背景色是绿色的,并且重载了定义在基类型中的 <%@ Master Language="C#" Inherits="BaseMaster" ClassName="MasterGreen" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> public override String MyTitle { get { return "MasterGreen 的标题"; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <title>无标题</title> </head> <body> <form > <div style="background-color:LightGreen"> <asp:contentplaceholder runat="server"> MasterGreen 的内容。 </asp:contentplaceholder> </div> </form> </body> </html>
如下实例是内容页,它允许用户使用 URL 查询串动态地对控制页进行选择。 <%@ Page Language="C#" Title="内容页" %> <%@ MasterType TypeName="BaseMaster" %> <script runat="server"> protected void Page_PreInit(Object sender, EventArgs e) { this.MasterPageFile = "MasterBlue.master"; if(Request.QueryString["color"] == "green") { this.MasterPageFile = "MasterGreen.master"; } this.Title = Master.MyTitle; } </script> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 内容页的内容。 </asp:Content> |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论