background
dotnetnuke supports ability give url custom page name, make url more human friendly, e.g. instead of /page/itemid/14/default.aspx
, can have /page/itemid/14/my-article.aspx
. api achieving via dotnetnuke.common.globals.friendlyurl
(which calls dotnetnuke.services.url.friendlyurl.friendlyurlprovider.friendlyurl
).
this friendlyurl
method has overloads take path
, pagename
parameter, can specify meaningful querystring parameters via path
, friendly page name via pagename
. following example bruce chapman, might this:
friendlyurlprovider.instance().friendlyurl(tab, "~/default.aspx?tabid=" + tab.tabid, "my_custom_page_name.aspx")
problem
my issue approach url gets parameters directly specify in path
parameter. using standard, non-friendly approach globals.navigateurl
, i'll additional parameters based on current context , portal's settings (most notably, language
). i'd prefer not have reimplement/copy navigateurl
implementation, don't see other choice. bruce has an issue in dnn's gemini issue tracker add pagename
parameter globals.navigateurl
, it's been sitting there quite while without getting attention.
another issue have hard-code ".aspx" onto page name, rather letting friendly url provider decide extension should (or whether go without extension altogether).
am missing something, or copying core navigateurl
best option getting full support friendly page names in urls?
one slight enhancement above call globals.applicationurl(tabid)
"~/default.aspx?tabid=x"
part of url. still have manually add language
parameter, though...
Comments
Post a Comment