簡體   English   中英

Web.config的system.web / Pages / Namespaces標簽有什么意義?

[英]What's the point of the Web.config's system.web/Pages/Namespaces Tag?

無論我的機器的根網絡配置(Windows / Microsoft.NET / ...中的配置)是否包含system.web/pages/namespaces/add元素,我仍然需要在每個aspx.cs CodeBehind文件上包含using語句。 為什么? 它不應該編譯而不是抱怨它無法理解頁面是什么? 畢竟,root web.config中存在<add namespace="System.Web" />

system.web/pages/namespaces/add元是.ASPX文件,正常.CS文件(包括.ASPX.CS )仍然需要做適當的using ,因為是在編譯之前源沒有預先處理。 因此.ASPX.CS必須是有效的CS文件,包括所有using Namespace聲明的文件。

這會將命名空間添加到您的aspx和ascx文件中,這樣您就不必包含<%@ Import Namespace="MyNameSpace" %>語句。

MSDN上文檔

namespaces元素定義在程序集預編譯期間使用的import指令的集合。 此屬性對應於ASP.NET頁面上的@ Import指令。 @ Import指令允許您指定自動導入應用程序所有頁面的名稱空間。

您的代碼隱藏不會受到這些web.config條目的影響。

此處的其他答案表明此web.config設置僅影響ASPX頁面,而不影響ASPX.CS等代碼隱藏頁面。 我剛剛在一個針對.NET 4.0的ASP.NET網站上對此進行了測試,並且發現這對於C#頁面來說是正確的,但對於VB頁面則不然。

將名稱空間添加到web.config設置中刪除了將其列在每個ASPX.VB頁面頂部的要求。

我會對任何理論感興趣,為什么會這樣。 我原以為它可以用於文件后面的ASPX.CS和ASPX.VB代碼。

暫無
暫無

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

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