Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何向自定义DotNetNuke模块添加灯箱_.net_Javascript_Lightbox_Dotnetnuke - Fatal编程技术网

.net 如何向自定义DotNetNuke模块添加灯箱

.net 如何向自定义DotNetNuke模块添加灯箱,.net,javascript,lightbox,dotnetnuke,.net,Javascript,Lightbox,Dotnetnuke,我正在开发一个定制的DotNetNuke模块,它需要使用Lightbox。向DNN模块添加Lightbox所需的javascript的最佳方法是什么 我看到的几乎所有解决方案都涉及到向皮肤文件添加javascript引用。有没有其他方法可以做到这一点?我不喜欢那些javascript文件被加载,即使对于不需要它们的模块也是如此 ===================================================================== 感谢spinon的帮助,以下是

我正在开发一个定制的DotNetNuke模块,它需要使用Lightbox。向DNN模块添加Lightbox所需的javascript的最佳方法是什么

我看到的几乎所有解决方案都涉及到向皮肤文件添加javascript引用。有没有其他方法可以做到这一点?我不喜欢那些javascript文件被加载,即使对于不需要它们的模块也是如此

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

感谢spinon的帮助,以下是我正在使用的解决方案:

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
Dim csMgr As ClientScriptManager=Page.ClientScript
名称为String=“prototype.js”
将脚本路径设置为字符串=”http://dnn/js/prototype.js"
Dim Type As Type=Me.GetType
'检查脚本是否已注册
如果不是csMgr.IsClientScriptBlockRegistered(类型、名称),则
将脚本文本调整为新的StringBuilder
scriptText.AppendLine()
scriptText.Append(“”)
scriptText.AppendLine()
'注册脚本
csMgr.RegisterClientScriptBlock(Me.GetType、Name、scriptText.ToString())
如果结束

如果只针对某些模块,您可以将它们直接包含到模块中。生成的HTML并不漂亮,但这是一种解决方案

或者从.net代码访问.net脚本管理器。我现在忘记了类名,但您可以让它加载脚本

无论哪种方式,这两种解决方案都可以避免为所有页面加载js,如果将其放入皮肤中,就会发生这种情况

编辑:以下是课堂信息:

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

还有另一种方法,将您的js放在模块根目录中并使用:您可以在模块视图控件的任何位置添加此标记