.net 如何向自定义DotNetNuke模块添加灯箱
我正在开发一个定制的DotNetNuke模块,它需要使用Lightbox。向DNN模块添加Lightbox所需的javascript的最佳方法是什么 我看到的几乎所有解决方案都涉及到向皮肤文件添加javascript引用。有没有其他方法可以做到这一点?我不喜欢那些javascript文件被加载,即使对于不需要它们的模块也是如此 ===================================================================== 感谢spinon的帮助,以下是我正在使用的解决方案:.net 如何向自定义DotNetNuke模块添加灯箱,.net,javascript,lightbox,dotnetnuke,.net,Javascript,Lightbox,Dotnetnuke,我正在开发一个定制的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放在模块根目录中并使用:您可以在模块视图控件的任何位置添加此标记