Image 在不同的DNN页面上将url解析为.aspx
我在自定义DNN模块的服务器端后台创建以下HTML代码。这必须在服务器上创建,而不是在CSS中创建Image 在不同的DNN页面上将url解析为.aspx,image,url,dotnetnuke,Image,Url,Dotnetnuke,我在自定义DNN模块的服务器端后台创建以下HTML代码。这必须在服务器上创建,而不是在CSS中创建 <div class=""ca-icon"" style=""background-image: url(DesktopModules/MyModule/" + "ShowPictureImg.aspx?Key=" + KeyImgList(itemCount - 1) + ")""> 父母的子女: url(../DesktopModules/
<div class=""ca-icon"" style=""background-image: url(DesktopModules/MyModule/" +
"ShowPictureImg.aspx?Key=" + KeyImgList(itemCount - 1) + ")"">
父母的子女:
url(../DesktopModules/MyModule/ShowPictureImg.aspx?Key=SomeKey)
儿童之子:
url(../../DesktopModules/MyModule/ShowPictureImg.aspx?Key=SomeKey)
等等等等。如何获得一个无论模块放置在何处都能持续工作的url?如果您使用
url(/DesktopModules/MyModule/
(请注意开头的/
),它应该从您网站的根目录开始您的URL。假设您没有在子目录中运行您的网站,这应该可以满足您的需要。如果您使用URL(/DesktopModules/MyModule/
(请注意开头的/
),它应该从网站的根目录开始您的URL。假设您没有在子目录中运行您的网站,这应该可以满足您的需要。如果您将此模块分发到野外,我实际上会使用ResolveClientUrl()如果您处于子门户设置中,或者如果DNN不在站点的根目录中,则以/DesktopModules..etc获取URL将不起作用
总的来说是这样的
<%= Page.ResolveClientUrl("~/Desktop...") %>
你的完整路径在那里,开头有一个~/的地方
这将确保它得到正确处理。如果您将此模块分发到野外,我将实际使用ResolveClientUrl()以/DesktopModules.的形式获取URL。如果您处于子门户设置中,或者如果DNN不在站点根目录中,则etc将不起作用 总的来说是这样的
<%= Page.ResolveClientUrl("~/Desktop...") %>
你的完整路径在那里,开头有一个~/的地方
这将确保它被正确处理。我实际上发现,
ControlPath
在所有情况下都能正常工作。因此,我对url的最终结果是这样的
"url(" + ControlPath + "ShowPictureImg.aspx?Key=" + Key + ")"
这基本上导致了
url(/site/DesktopModules/Modulename/ShowPictureImg.aspx?Key=1234)
我发现ControlPath
在我所知的所有情况下都能工作。所以我对url的最终结果是这样的
"url(" + ControlPath + "ShowPictureImg.aspx?Key=" + Key + ")"
这实际上导致了url(/site/DesktopModules/Modulename/ShowPictureImg.aspx?Key=1234)