⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingarticlelist.ascx.vb

📁 如果不使用IIS,请先运行 XSP.exe,待提示已侦听 8080端口后
💻 VB
字号:
Imports DNNLite.Entites.Modules
Imports DNNLite.Entites.Tab
Imports DNNLite.Comm
Imports DNNLite.DesktopModules.Article
Imports NHibernate.Expression
Imports Castle.ActiveRecord
Imports System.Collections.Generic
Imports Castle.ActiveRecord.Queries
Partial Class DesktopModules_Article_SettingArticleList
    Inherits PortalModuleSettingsBase


    Public Overrides Function GetToSaveSettings() As System.Collections.Generic.IDictionary(Of String, String)
        Dim s As New Dictionary(Of String, String)()
        s.Add("ListTemplet", selfile1.FileName)
        s.Add("DefaultTab", selSitePage1.TabId)

        Dim LoadClass As String = String.Empty
        'For Each itm As ListItem In chkBelongClass.Items
        '    If itm.Selected Then
        '        LoadClass &= itm.Value & ","

        '    End If
        'Next

        LoadClass = ddlBelongClass.SelectedValue

        s.Add("LoadClass", LoadClass)





        For Each element As Generic.KeyValuePair(Of String, String) In OtherSetting1.DataSource
            If element.Key <> "ListTemplet" And _
                element.Key <> "DefaultTab" And _
                    element.Key <> "LoadClass" Then
                s.Add(element.Key, element.Value)
            End If

        Next

        Return s
    End Function

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then

            If (HttpContext.Current.Items("castleactivesession") Is Nothing) Then
                HttpContext.Current.Items("castleactivesession") = _
                    New SessionScope(FlushAction.Never)
            End If

            BuildTreeAndFillDrop()

            If Settings.ContainsKey("ListTemplet") Then
                selfile1.FileName = Settings("ListTemplet")
            End If

            If Settings.ContainsKey("DefaultTab") Then
                selSitePage1.TabId = Settings("DefaultTab")
            End If


            If Settings.ContainsKey("LoadClass") Then
                Dim cs As String() = Settings("LoadClass").Split(",")

                For Each itm As ListItem In ddlBelongClass.Items
                    For Each s As String In cs
                        If itm.Value = s Then
                            itm.Selected = True
                        End If
                    Next
                Next

            End If



            For Each element As Generic.KeyValuePair(Of String, String) In Settings
                If element.Key <> "ListTemplet" And _
                    element.Key <> "DefaultTab" And _
                    element.Key <> "LoadClass" Then
                    OtherSetting1.DataSource.Add(element.Key, element.Value)
                End If

            Next

        End If

    End Sub

    Private Sub BuildTreeAndFillDrop()


        ddlBelongClass.Items.Clear()

        ddlBelongClass.Items.Add(New ListItem("<不限分类>", "-1"))

        Dim cs As ArticleClass() = _
            ArticleClass.FindAll(ArticleClass.Asc("SortNum", "Id"), New NullExpression("Parent"))

        For Each el As ArticleClass In cs

            Dim itm As New ListItem(el.Name, el.Id)
            ddlBelongClass.Items.Add(itm)

            BindDDLItem(el, 0)
        Next
    End Sub
    Private Sub BindDDLItem(ByVal c As ArticleClass, ByVal level As Int16)


        For Each el As ArticleClass In c.Childs
            Dim itm As New ListItem(StrDup(level, " ") & "┗" & el.Name, el.Id)
            ddlBelongClass.Items.Add(itm)
            
            BindDDLItem(el, level + 1)
        Next
    End Sub


End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -