4
A
回答
10
你是說你想找到當前執行的對象的原始文件名?也就是說,從你想要檢索的控件MyControl中獲取MyControlOnDisk.ascx
?一般來說,這些信息在編譯時會丟失,而且許多頁面和控件都建立在部分類上,並且它們來自的文件名被編譯爲一個程序集。
對於頁面,您可以使用以下內容,但前提是頁面沒有內部重定向,沒有實例化爲另一個頁面的類,它不是母版頁,而且您不在一個靜態方法中:
string currentPageFileName = new FileInfo(this.Request.Url.LocalPath).Name;
在控制的情況下,一般是不可能的,因爲據我所知,(它被編譯的距離),但也許有人可以在此提供一些線索。
「我想寫的是使用該名稱的超」
我假定你的意思寫一個子類?如果你寫了一個超類,你只需要創建一個虛擬方法,並在你的子類(頁面)中實現它。如果你的意思是創建一個子類,你可以把頁面的類名,它看起來像這樣:
// current page
public partial class MyLovelyPage : System.Web.UI.UserControl
,並使用它像這樣從中得到:
public partial class NewDerivedPage : MyLovelyPage
1
,如果你不使用路由:
string sPath = HttpContext.Current.Request.Url.AbsolutePath;
string[] strarry = sPath.Split('/');
int lengh = strarry.Length;
string sRet = strarry[lengh - 1];
0
Request.ServerVariables["SCRIPT_NAME"]
2
我會推薦一種替代方案:
Server.MapPath(Page.AppRelativeVirtualPath)
這與ASP.Net一起使用以獲取當前頁面的完整路徑和文件名。
相關問題
- 1. ASP.NET - Web用戶控件的當前頁面名稱?
- 2. 查找DataScroller當前頁面
- 3. 需要在excel插件中找到當前文件的名稱
- 4. 從當前上下文中查找頁面或頁面組合
- 5. ASP.NET MVC當前上下文中不存在名稱'文件'
- 6. 查找當前配置文件的名稱
- 7. 如何檢查當前頁面是否在ASP.Net中使用SSL?
- 8. 如何獲取用於呈現當前頁面的文件的名稱?
- 9. modx php獲取當前頁面名稱
- 10. Liferay請求當前頁面名稱
- 11. .slverstripe檢查頁面名稱.ss文件
- 12. Ruby中的當前文件夾名稱?
- 13. 在txt文件中查找名稱
- 14. 如何找到哪些CSS文件用於當前頁面
- 15. 按擴展名稱查找頁面
- 16. 如何找到當前打開的MS Office文檔的名稱?
- 17. 如何獲取當前CMS頁面名稱
- 18. 如何在佈局中獲取當前視圖的頁面名稱
- 19. 如何在asp.net中查找模型中的當前用戶mvc
- 20. 在MVC視圖頁面的當前上下文中不存在名稱html。
- 21. 如何在WinDbg中查找內存映射文件的名稱?
- 22. 在Xamarin Forms應用程序中獲取當前頁面名稱
- 23. 在RC0中獲取當前頁面/視圖名稱返回「t」
- 24. ASP.NET MVC:如何在視圖中獲取頁面的當前URL?
- 25. ASP.net名稱'userName'在當前上下文中不存在
- 26. 名稱在當前上下文中不存在ASP.NET
- 27. ASP.NET:突然在當前上下文中不存在名稱'form1'?
- 28. ASP.NET核心 - 名稱'JsonRequestBehavior'在當前上下文中不存在
- 29. ASP.NET Core中當前上下文中不存在名稱'model'
- 30. 查找目錄中文件的名稱
你能給我一個例子,它在編譯時會丟失嗎?由於事情需要路由到這個處理程序,這通常是*不是我的經驗。 – 2010-08-29 10:47:40
@Nick:示例將是任何頁面。編譯完成後,頁面和類之間的映射在'* .aspx'文件中完成,該文件由ASPX處理程序讀取。已編譯的類本身(位於bin目錄中)將不包含任何有關此信息。事實上,無論您認爲合適,在運行時都可以更改路徑的名稱,而不是更改類的名稱。唯一保留的信息是存儲物理程序集名稱(其中部分包含原始文件的名稱,取決於編譯方法)的「RuntimeCompatibilityAttribute」。 – Abel 2010-08-29 11:13:17
@尼克:用不同的方式說:這個信息根本不在課堂上。該映射是在文本文件(ASPX文件,web.config或其他方式)的類外部完成的,並且該頁面不知道它是如何在Visual Studio中使用或配置的(並且可以與其他頁面一起使用)。 – Abel 2010-08-29 11:17:15