ASP.NET母版页和Web用户控件的使用

1、母版页

同一个站点多个页面如果风格不一致,会给人造成不好的影响。ASP.NET提供了一种比较简单的方法保存统一的风格,那就是母版页。母版页是一个已“.master”作为后缀名的文件,它可以将页面上的公共元素(如网站Logo、广告条、导航条等)整合到一起。

1.1 母版页的声明

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="master_MasterPage" %>

1.2 ContentPlaceHolder控件

新创建的母版页上面只有一个ContentPlaceHolder控件,它是预留给内容页显示的控件,一个母版页至少保留一个ContentPlaceHolder控件。

<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>

1.3 内容页

母版页可以说是页面的框架,还需要有内容页的支撑页面内容。每一个内容页需要对应母版页中的一个位置(ContentPlaceHolder控件)。

<%@ Page Language="C#" MasterPageFile="~/master/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="master_Default" Title="无标题页" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>

它甚至没有HTML元素,我们来解释一下个别代码的含义。

MasterPageFile:用于指定所使用的母版页的路径。

Title:用于设置内容页显示的标题。

ContentPlaceHolderID:用于控制该Content控件在页面中的位置,即指定所对应的母版页中ContentPlaceHolder控件的ID,如果指定的ID在母版页中不存在,将会发生错误。

2、Web用户控件

用户控件(User Control)可用来实现页面中可重用的代码,是可以使我们一次编写就多次方便使用的功能块。用户控件其实就是一种自定义的组合控件,通常由系统提供的可视化控件组合而成。用户控件中不仅仅可以定义显示界面,还可以编写事件处理代码。

2.1 创建用户控件

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="control_WebUserControl" %>

这行指令与页面的@Page指令非常相似。唯一不同的是,这里是@Control指令。

需要注意的是,一个.ascx文件中不能包含<head>、<form>或者<body>标签,因为包含此.ascx文件的.aspx文件已经包含了这些标签。

此外,与Web页面一样,用户控件也生成了它自己的.cs文件:

public partial class control_WebUserControl : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

用户控件继承自System.Web.UI.UserControl
2.2 使用用户控件

注册:

<%@ Register src="control/WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %>

使用:

<uc1:WebUserControl ID="WebUserControl1" runat="server" />

页面增加一个@Register指令,就是说当页面中要使用用户控件时,必须首先在该页面注册此用户控件,该指令包含以下属性。

tagprefix:该属性定义了用户控件所使用的前缀,就是说它将前缀与用户控件相关联。此前缀将包括在用户控件元素的开始标记中。

tagname:该属性定义了用户控件的名称,此名称将包括在用户控件元素的开始标记中。

src:该属性定义要包括在Web窗体页中的用户控件文件的虚拟路径。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值