国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ASP.NET Forums 頁面模型分析

2019-11-18 16:41:50
字體:
供稿:網(wǎng)友

asp.net 提供兩個用于管理可視元素和代碼的模型,即單文件頁模型和代碼隱藏頁模型。具體內(nèi)容可以參考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的頁面中使用了代碼隱藏頁模型,但是與典型的代碼隱藏頁模型又稍有區(qū)別。
Default.aspx的內(nèi)容如下: 

<%@ Page Language="C#" %>
<%@ Import Namespace="AspNetForums.Components" %>
<%@ Register Tag<%@ 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的指令語法:指定當(dāng)頁和用戶控件編譯器處理 ASP.NET Web 窗體頁 (.aspx) 和用戶控件 (.ascx) 文件時所使用的設(shè)置。
ASP.NET 頁框架支持以下指令:
@ Page 定義 ASP.NET 頁分析器和編譯器使用的特定于頁的屬性。只能包含在 .aspx 文件中。
@ Control 定義 ASP.NET 頁分析器和編譯器使用的控件特定屬性。只能包含在 .ascx 文件(用戶控件)中。
@ Import 將命名空間顯式導(dǎo)入頁或用戶控件中。
@ Register 將別名與命名空間及類名關(guān)聯(lián)起來,從而允許用戶控件和自定義服務(wù)器控件在被包括到請求的頁或用戶控件時呈現(xiàn)。
@ Assembly 在編譯過程中將程序集鏈接到當(dāng)前頁,以使程序集的所有類和接口都可用在該頁上。

根據(jù)指令語法語法我們解讀一下default.aspx:
 

<%@ Page Language="C#" %>   
http://www.survivalescaperooms.com指定在對頁中的所有內(nèi)聯(lián)呈現(xiàn)(<% %> 和 <%= %>)和代碼聲明塊進行編譯時使用的語言為C#
<%@ Import Namespace="AspNetForums.Components" %>
將命名空間顯式導(dǎo)入到 ASP.NET網(wǎng)頁中,同時使導(dǎo)入的命名空間的所有類和接口可用于文件。
<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>
創(chuàng)建標記前綴Forums,與程序集AspNetForums.Controls中的命名空間AspNetForums.Controls相關(guān)聯(lián)。
<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %> (略)
繼續(xù)往下看頁面部分,其中主要是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相對應(yīng),最終的效果是在加載Default.aspx的時候先加載母版頁,然后Default.aspx中的mp:Content添加到母版頁中對應(yīng)的mp:region位置,形成最終的效果。
<meta http-equiv="Refresh" content="300" />頁面每300秒刷新一次
<Forums:ForumGroupView runat="server" />
表示在此位置上是Forums:ForumGroupView控件,根據(jù)頁面指令我們得知對應(yīng)的控件為AspNetForums.Controls.ForumGroupView,

namespace AspNetForums.Controls

{

    /**//// <summary>

    /// 論壇組列表服務(wù)器控件

    /// </summary>

    public class ForumGroupView : SkinnedForumWebControl

    {

}

}

ForumGroupView繼承自SkinnedForumWebControl,并實現(xiàn)抽象方法InitializeSkin,實現(xiàn)了代碼分離和換皮膚。繼續(xù)向下查看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等諸位大哥的文章,在次對他們表示中心的感謝,首次發(fā)文章,文筆粗糙,狗尾續(xù)貂還請各位不吝指教。
http://www.survivalescaperooms.com/joycode/archive/2007/01/28/632607.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 胶州市| 高要市| 澄城县| 温泉县| 荃湾区| 布尔津县| 武清区| 台中县| 合山市| 宽甸| 峨山| 额济纳旗| 高州市| 益阳市| 奎屯市| 丽江市| 白水县| 仪陇县| 贺兰县| 康马县| 奉贤区| 沂水县| 开平市| 沾益县| 富宁县| 沽源县| 聊城市| 黄大仙区| 潮州市| 三明市| 景宁| 大丰市| 临桂县| 拉萨市| 耿马| 错那县| 调兵山市| 南昌县| 铁岭市| 安西县| 龙岩市|