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