我正在开发一个DNN模块,该模块需要能够更新现有HTML模块的HTML内容。有谁知道如何通过代码执行此操作?
我已确定内容存储在HtmlText表中,但我不想直接写入表。有谁知道如何使用DNN API完成此任务?
提前致谢。
在mika&帮助下,我找到了解决方案。 bdukes:
''' <summary>Add HTML contest to an existing HTML module.</summary>
Private Sub AddHTML(ByVal ModuleID As Integer, ByVal HTML As String)
Try
Dim oHTML As New DotNetNuke.Modules.Html.SqlDataProvider
'-- i'm not sure what "history" should be set for in the method below.
'-- i suspect it means "version history", which 5 seems to be the default based on what i've read.
oHTML.AddHtmlText(ModuleID, HTML, 1, 1, UserId, 5)
Catch ex As Exception
'failure
End Try
End Sub
备注:
此例程将HTML内容添加到 刚刚创建的HTML / Text模块,所以 检查现有的HTML内容 没有必要。
我对第3和第3个有点模糊 第6个参数(StateID&amp; History), 虽然它似乎是 工作正常。如果有人知道 关于他们的更多信息,我想 知道设置这些参数的正确方法。
答案 0 :(得分:2)
HTML模块的5.2版本(开始随DNN 5.2一起发布)及以上编译,并在网站的/ bin /目录中引用。您可以在项目中引用DotNetNuke.Modules.Html.dll,并使用HtmlTextController
上的方法进行更新(如@mika所述)。但是,由于HTML模块随着时间的推移而发生变化,因此每次更新DNN时都需要确保重新检查模块(并可能更新集成)。
您可以查看我们的免费Engage: F3 module,了解我们如何解决各种版本代码库中的差异。
答案 1 :(得分:1)
使用Text/HTML module。它不是以.dll形式发布的,但您可以在/ App_Code / HTML文件夹中找到代码。
HtmlTextController有以下方法:
- Public Sub AddHtmlText(ByVal objText As HtmlTextInfo)
- Public Function GetHtmlText(ByVal moduleId As Integer) As HtmlTextInfo
- Public Sub UpdateHtmlText(ByVal objText As HtmlTextInfo)