如何在DotNetNuke中获取控件的所有用法/参考?

时间:2010-05-13 08:43:27

标签: dotnetnuke code-analysis

对不起蹩脚的问题,但我确实从DNN开始。

当您处于管理/设计模式时,您可以列出所有使用的模块,当您点击最后的模块时,您将看到此模块中使用的控件列表,其中包含有关源文件名的信息。

我遇到的问题是反过来 - 我已经知道带有源的文件名,我想列出所有使用这个控件的模块。怎么做?

1 个答案:

答案 0 :(得分:2)

如果要使用控件查找模块定义,请使用

之类的查询
SELECT *  
FROM 
ModuleDefinitions md
INNER JOIN ModuleControls mc on (mc.ModuleDefID = md.ModuleDefID)
WHERE ControlSrc like '%filename%'

如果要查找实际使用的模块,则必须使用Tabs,TabModules和Modules表进行连接。例如:

SELECT
t.PortalID
,t.TabID
,t.TabName
,m.ModuleID
,md.FriendlyName
,mc.ControlSrc
FROM 
Tabs t
INNER JOIN TabModules tm ON t.TabID = tm.TabID
INNER JOIN Modules m on tm.ModuleID = m.ModuleID
INNER JOIN ModuleDefinitions md ON m.ModuleDefID = md.ModuleDefID
INNER JOIN ModuleControls mc on mc.ModuleDefID = md.ModuleDefID
WHERE ControlSrc like '%filename%'