如何通过代码更新DotNetNuke的HTML模块内容?

时间:2010-12-29 23:09:25

标签: api dotnetnuke dotnetnuke-module

我正在开发一个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), 虽然它似乎是 工作正常。如果有人知道 关于他们的更多信息,我想 知道设置这些参数的正确方法。

2 个答案:

答案 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)