ASP.NET - Web用户控件中当前页的名称是什么?

6

我需要找出Web用户控件所在位置的名称。类似于HttpContext.Current.Request.Url.ToString(),但我只得到了此Web用户控件的页面。

5个回答

13

Request.Url.Segments会给你一个字符串数组。最后一项是页面。


2
我使用以下代码获取页面:var page = Request.Url.Segments.Last(); - Chris L
最后一项是页面名称。 - Imad

3

您应该尝试使用 Request.Url.LocalPath 属性

string fileNameFromLocalPath = Path.GetFileName(Request.Url.LocalPath);

1

这段代码有助于:

string filename = Path.GetFileName(Request.Url.AbsolutePath);

1
如果你请求Page.getType.name,你会得到主控件的名称,也就是aspx页面。 如果你想要正在使用的ascx控件的名称,请使用me.GetType.Name.ToString。 如果你的控件在MyDir目录中,并且ascx的名称为test.ascx,则结果将是:

"ASP.MyDir_test_ascx"


0

你也可以使用(VB.Net):

Dim pageName as String = Page.GetType().Name

这个程序会将文件的扩展名替换为下划线。

例如,从 Default.aspx 得到的结果是 Default_aspx

你也可以使用:

Dim pageName as String = CType(HttpContext.Current.CurrentHandler, Page).GetType().Name

这将产生与上述描述相同的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接