如果我使用它:
Request.Url.AbsoluteUri
我得到完整的网址:
http://localhost/mysite/Default.aspx?TabID=269&OTHER-parameters
但我不想用TabID这个东西我需要友好的网址,所以如果我使用:
DotNetNuke.Entities.Tabs.TabController.CurrentPage.FullUrl;
我得到了
http://localhost/mysite/something/en-us/generatethings.aspx
但有了这个,我没有得到参数:(
如何使用所有参数从dnn获取完整友好的完整URL?
答案 0 :(得分:6)
不幸的是,没有一种简单的方法可以在DNN中获取当前URL,因为URL在到达模块之前会被重写。
我们通常使用Globals.NavigateURL
重新生成网址。您可以使用DotNetNuke.Common.Utilities.UrlUtils.GetQSParamsForNavigateURL
从当前URL获取所有查询字符串参数。
所以,你最终会得到这样的东西:
var currentUrl = Globals.NavigateURL(
this.TabId,
this.Request.QueryString["ctl"],
UrlUtils.GetQSParamsForNavigateURL());
答案 1 :(得分:4)
我认为这会让你得到你想要的东西
string url = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.RawUrl;
答案 2 :(得分:1)
`string url = TabController.CurrentPage.FullUrl;`
这应该为您提供用户友好的网址