dnn中Settings("movie") 用法?
也许大家会有疑问:Settings("movie") 是从哪里来的?它的数据又是从哪里来的?
刚开始研究模块的创建我也有同样的疑问,而且造成这个疑问主要是因为DotNetNuke自带的模块都是为它们模块独立创建一张表,比如Links模块,它的表的名称就是:DNN_links,而造成这个问题也主要还是我对DNN的许多地方都没有研究过,后来在查看DotNetNuke.PortalModuleControl 对它也有了我妥
DotNetNuke的DesktopControls.vb 代码
Imports System
Imports System.Configuration
Imports System.Data
Imports System.IO
Namespace CnBlogs.FlashPlayer
Public Class PortalModuleControl
Inherits UserControl
……
……
<Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public ReadOnly Property Settings() As Hashtable
Get
If _settings Is Nothing Then
_settings = PortalSettings.GetModuleSettings(ModuleId)
End If
Return _settings
End Get
End Property
<Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public ReadOnly Property PortalSettings() As PortalSettings
Get
PortalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings)
End Get
End Property
End Class
End Namespace
Imports System.Configuration
Imports System.Data
Imports System.IO
Namespace CnBlogs.FlashPlayer
Public Class PortalModuleControl
Inherits UserControl
……
……
<Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public ReadOnly Property Settings() As Hashtable
Get
If _settings Is Nothing Then
_settings = PortalSettings.GetModuleSettings(ModuleId)
End If
Return _settings
End Get
End Property
<Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public ReadOnly Property PortalSettings() As PortalSettings
Get
PortalSettings = CType(HttpContext.Current.Items("PortalSettings"), PortalSettings)
End Get
End Property
End Class
End Namespace
上面的HttpContext.Current.Items("PortalSettings")是从global.vb 的Application_BeginRequest事件获得,它在整个网站的运行起到了模块分析,及其它数据的存储,也是核心的部分。它是分析url,将当页的所有模块信息都载入保存进来