簡體   English   中英

什么是.NET中的頁面指令

[英]What is a Page Directive in .NET

我正在研究微軟認證考試,考試中“內容”的一些措辭讓我很困惑。 MS考試網站的開發Web表單頁面”下 ,它說明了考試內容......

此目標可能包括但不限於:頁面指令,如ViewState,請求驗證,事件驗證,MasterPageFile; 的ClientIDMode;

我的印象是頁面指令引用了@Page關鍵字,而@Page部分中定義的關聯值是屬性/屬性。 但是考試內容的措辭幾乎意味着@Page關鍵字的屬性/屬性是指令。

有人可以幫我解決這個問題嗎?

我認為他們的措辭有點令人困惑。 你是正確的,指令中的值基本上是屬性。 實際上,您可以在對象模型中設置大多數這些AS屬性(例如,在代碼隱藏中)。

 protected override void OnInit( EventArgs e )
 {
        this.EnableViewState = true;
        this.MasterPageFile = "~/something.master";
        this.Title = "Hello World";
 }

除了Page之外,它們還有幾個重要的指令,例如ImportControl 我建議你也熟悉這些。

編輯:我很好奇這些屬性在從Page指令設置時結束,所以我看了一下ASP.Net緩存。 您可能知道,當頁面執行時,它會變成一個對象並緩存在文件系統中:

c:\\ windows \\ Microsoft.Net \\ Framework [版本] \\臨時ASP.Net文件\\

        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private void @__BuildControlTree(content_shared_toolbarcontrol_ascx @__ctrl) {
            System.Web.UI.IParserAccessor @__parser = ((System.Web.UI.IParserAccessor)(@__ctrl));

            #line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
            @__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n<div class=\"toolbar\">\r\n    "));

            #line default
            #line hidden
            global::System.Web.UI.HtmlControls.HtmlGenericControl @__ctrl1;

            #line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
            @__ctrl1 = this.@__BuildControldivDelete();

            #line default
            #line hidden

            #line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
            @__parser.AddParsedSubObject(@__ctrl1);

            #line default
            #line hidden

            #line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
            @__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n    <div class=\"toolbarSpacer\"></div>\r\n    <div class=\"toolbarButton\">"));

et cetera

我發現有趣的是,在Page指令中設置的屬性不包含在這些自動生成的文件中。 這使我相信完整性中的指令是在每個請求上處理的,並且不會與頁面一起編譯。

編輯#2:Per BurningIce的評論如下,我進一步深入研究。 我相信指令屬性可以描述如下。

指令中的每個屬性都有以下一個或多個用途:對編譯器的提示(例如代碼隱藏路徑),加載頁面的提示(例如頁面繼承的類),提示提示頁面(例如MasterPageFile)和/或要在創建的頁面的每個實例上設置的屬性(例如Title)。

page指令是一組混合屬性,您可以直接在Page-object本身和asp.net編譯器的指令上設置這些屬性。

此頁面顯示所有屬性的列表http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx

從頁面引用: 定義ASP.NET頁面解析器和編譯器使用的頁面特定(.aspx文件)屬性。

“”這些新頁面將顯示所有屬性的列表,並對屬性/屬性進行一些解釋:

上面提到的舊鏈接http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx不再有用。 根據目標,最新的鏈接是http://msdn.microsoft.com/en-us/library/t8syafc7(v=vs.100).aspxhttp://msdn.microsoft.com/en-us/ library / vstudio / ydy4x04a(v = vs.100).aspx ,適合所有尋求此信息的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM