我可能以错误的方式处理此问题,但我需要知道当前ASP.NET页面的当前URL或表单名称。
我有一个带有WebBrowser的C#应用程序,它运行ASP.NET应用程序。每当我检查WebBrowser组件中的当前URL时,它总是说它是'Default.aspx'页面。当你在另一个浏览器中运行它时,这很好,但我需要知道确切的URL或表单。
我也尝试过创建一个javascript函数来返回当前的URL,但由于这个函数只添加到'default.aspx'页面(所以所有页面都可以访问这个函数)我只返回'default .aspx'URL。
有什么想法吗?
谢谢!
编辑: 我忘了提到我使用通过net.tcp绑定的WCF事件。当ASP.NET应用程序收到这样的事件时,它应该根据它所在的当前页面进行不同的处理。我无法使用Request或HTTPContext.Current,因为我的情况是NULL。
答案 0 :(得分:0)
尝试以下
private string GetCurrentURL()
{
string appPath = Request.ApplicationPath.ToString();
string[] strPath = Request.RawUrl.ToString().Split('/');
if (strPath.Count() == 2)
{
return Request.RawUrl.ToString().Replace(appPath, "")
}
else
{
return Request.RawUrl.ToString().Replace(appPath, "").Substring(1));
}
}