分享
 
 
 

ASP.NET Forums 页面模型分析

王朝asp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

ASP.NET 提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。具体内容可以参考MSDN(ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/81b13e7a-b95b-4285-906f-d2dd77411417.htm)。

在ASP.NET Forums的页面中使用了代码隐藏页模型,但是与典型的代码隐藏页模型又稍有区别。

Default.aspx的内容如下:

<%@ Page Language="C#" %>

<%@ Import Namespace="AspNetForums.Components" %>

<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>

<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>

<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">

<mp:Content id="HeadTag" runat="server">

<meta http-equiv="Refresh" content="300" />

</mp:Content>

<mp:Content id="MainContent" runat="server">

<Forums:ForumGroupView runat="server" />

</mp:Content>

</mp:ContentContainer>

首先让我们先熟悉一下Asp.Net的指令语法:指定当页和用户控件编译器处理 ASP.NET Web 窗体页 (.aspx) 和用户控件 (.ascx) 文件时所使用的设置。

ASP.NET 页框架支持以下指令:

@ Page 定义 ASP.NET 页分析器和编译器使用的特定于页的属性。只能包含在 .aspx 文件中。

@ Control 定义 ASP.NET 页分析器和编译器使用的控件特定属性。只能包含在 .ascx 文件(用户控件)中。

@ Import 将命名空间显式导入页或用户控件中。

@ Register 将别名与命名空间及类名关联起来,从而允许用户控件和自定义服务器控件在被包括到请求的页或用户控件时呈现。

@ Assembly 在编译过程中将程序集链接到当前页,以使程序集的所有类和接口都可用在该页上。

根据指令语法语法我们解读一下default.aspx:

<%@ Page Language="C#" %>

http://www.knowsky.com指定在对页中的所有内联呈现(<% %> 和 <%= %>)和代码声明块进行编译时使用的语言为C#

<%@ Import Namespace="AspNetForums.Components" %>

将命名空间显式导入到 ASP.NET网页中,同时使导入的命名空间的所有类和接口可用于文件。

<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>

创建标记前缀Forums,与程序集AspNetForums.Controls中的命名空间AspNetForums.Controls相关联。

<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %> (略)

继续往下看页面部分,其中主要是MetaBuilders的Master Pages 控件的用法,具体用法可参考venjiang大哥的文章(了解Master Pages库),类似Asp.Net 2.0中的MasterPage

<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">

<mp:Content id="HeadTag" runat="server">

<meta http-equiv="Refresh" content="300" />

</mp:Content>

<mp:Content id="MainContent" runat="server">

<Forums:ForumGroupView runat="server" />

</mp:Content>

</mp:ContentContainer>

其中mp:ContentContainer中的MasterPageFile指定了"母版页"的位置,mp:Content通过id与"母版页"中的mp:region相对应,最终的效果是在加载Default.aspx的时候先加载母版页,然后Default.aspx中的mp:Content添加到母版页中对应的mp:region位置,形成最终的效果。

<meta http-equiv="Refresh" content="300" />页面每300秒刷新一次

<Forums:ForumGroupView runat="server" />

表示在此位置上是Forums:ForumGroupView控件,根据页面指令我们得知对应的控件为AspNetForums.Controls.ForumGroupView,

namespace AspNetForums.Controls

{

/**//// <summary>

/// 论坛组列表服务器控件

/// </summary>

public class ForumGroupView : SkinnedForumWebControl

{

}

}

ForumGroupView继承自SkinnedForumWebControl,并实现抽象方法InitializeSkin,实现了代码分离和换皮肤。继续向下查看ForumGroupView的皮肤文件名View-ForumGroupView.ascx:

<!--广告-->

<Forums:Ads Zone="GoogleAdsense" runat="server" />

<!-- 用户登录消息及注册 -->

<% if ( Users.GetUser().IsAnonymous ) { %>

<table width="100%" cellspacing="0" cellpadding="5" border="0">

<tr>

<td>

<!-- ForumGroupView.Header.End -->

<Forums:Login SkinFilename="Skin-LoginSmall.ascx" runat="server" ID="Login1" />

<!-- ForumGroupView.MainCentent.Start -->

</td>

</tr>

</table>

<% } %>

……

然后下一个嵌套的过程又开始了。

写此篇文章,大量参考了venjiang,宝玉,ugoer等诸位大哥的文章,在次对他们表示中心的感谢,首次发文章,文笔粗糙,狗尾续貂还请各位不吝指教。

http://www.cnblogs.com/joycode/archive/2007/01/28/632607.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有