首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

在 DotNetNuke 中利用 Reports 模組拼湊數據(二):參數機制與動態查詢實戰

     編輯:關於ASP.NET

Reports 模組極簡單強大:用 SELECT 將既有資料重組為新模組。新版支援 Visualizer(視覺化器),列表呈現方式開放(Grid/HTML/XSL),我期望將此特性引入 RedstartForm 列表介面。

Reports 參數機制:識別動態上下文

Reports 提供四個核心參數:

Public Shared Function BuildParameters(ByVal SrcModule As PortalModuleBase) As Dictionary(Of String, Object)
  Dim dict As New Dictionary(Of String, Object)
  If SrcModule IsNot Nothing Then
    dict.Add("PortalID", SrcModule.PortalId)
    dict.Add("TabID", SrcModule.TabId)
    dict.Add("ModuleID", SrcModule.ModuleId)
    dict.Add("UserID", SrcModule.UserId)
  End If
  Return dict
End Function

有了 UserID,原則上可查詢所有用戶相關資料。

實戰範例:顯示當前用戶資料

新增 Reports 模組,Host 身分設定 SQL:

SELECT DisplayName AS 名稱 FROM Users WHERE UserID=@UserID

即可在頁面動態顯示登入用戶名稱。

IFrame 模組參數更豐富

IFrame 提供更多參數(下拉選單可見),因其無法寫 SQL,需預置更多上下文。我曾擴充加入 PortalAlias 參數,解決區域網/外網、IP/域名混合訪問時 iframe 目標系統地址不一致問題。

RedstartForm 參數設計差異

RedstartForm 採 {UserID} {ModuleID} 大括號語法,括號內識別為參數,外部不識別。此設計有特定考量,後續將詳細說明。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved