开发者

How to add a Lightbox to a custom DotNetNuke module

I'm working on a custom DotNetNuke module which requires the use of Lightbox. What's the best way to add the javascript necessary for Lightbox to a DNN module?

Nearly all the solutions I've seen involve adding the javascript references to the skin file. Is there another way to accomplish this? I'd hate to have those javascript files being loaded even for modules which don't need them.

=====================================================================

Thanks to spinon's help, here's the solution I'm using:

Dim csMgr As ClientScriptManager = Page.ClientScript
Dim Name As String = "prototype.js"
Dim ScriptPath As String = "http://dnn/js/prototype.js"
Dim Type As Type = Me.GetType

'check if script is already registered
If Not csMgr.IsClientScriptBlockRegistered(Type, Name) Then
    Dim scriptText As New StringBuilder

    scriptText.AppendLine()
 开发者_如何学编程   scriptText.Append("<script src=""")
    scriptText.Append(ScriptPath)
    scriptText.Append(""" type=""text/javascript""></script>")
    scriptText.AppendLine()

    'register script
    csMgr.RegisterClientScriptBlock(Me.GetType, Name, scriptText.ToString())
End If


Well you can always just include them right into your module if it is only for certain modules. The resulting HTML will not be pretty but that is one solution.

Or from the .net code access the .net script manager. I forget the class name right now but you can have that load the scripts.

Either way both solutions would avoid loading the js for all pages, which is what would happen if you put it in the skin.

EDIT: Here is the class information:

Page.ClientScript.RegisterClientScriptBlock(....); 

http://msdn2.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerclientscriptblock.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜