在DotNetNuke中,如果我只有ModuleId(而不是TabId),如何获取ModuleInfo对象
DNN 框架提供的唯一通过 ID 获取模块的方法也需要选项卡 ID。 如果我没有标签 ID,我该怎么办?
The only method provided by the DNN framework to get a module by ID also required a tab ID. What can I do if I don't have a tab ID?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您没有选项卡 ID,则 DotNetNuke.Entities.Modules.ModuleController 类的 GetModule 方法将接受选项卡 ID 的“null”值。 也就是说,请尝试以下操作:
另请参阅 我关于这个主题的博客文章。
The GetModule method off of the DotNetNuke.Entities.Modules.ModuleController class will accept a "null" value for tab ID if you don't have a tab ID. That is, try the following:
See also my blog post on the subject.
将 null TabId 传递给 GetModule 时需要注意的一件事是,如果您有一个安装在多个不同选项卡上的模块,您将返回第一个选项卡,因此 TabId、TabModuleId 和 ModuleOrder 的值将是基于第一个实例,它可能是也可能不是您想要的实例。
HTH,
唐
One thing to watch out for when passing a null TabId to GetModule is that if you have a module that's installed on a number of different tabs, you'll be getting the first one back, so the values for TabId, TabModuleId and ModuleOrder will be based on that first instance, which may or may not be the instance you wanted.
HTH,
Don
Brian,我刚刚查看了 GetModule() 的代码,框架中没有任何特定的 VB 代码来检查 tabid 是否为空。 但有趣的是,作为 SqlDataProvider 一部分的存储过程从模块视图中选择具有匹配 moduleid 的行,无论 tabid 是什么...
如果我理解正确的话,这将返回 moduleid 为的所有行您指定的一个,无论 @tabid 是否为 null。 这使得 @TabId 毫无意义,你不觉得吗?
Brian, I just took a look at the code for GetModule(), and there isn't any specific VB code in the framework that checks for the tabid being null. What's interesting though is that the stored procedure that is part of the SqlDataProvider selects rows from the Modules view that have a matching moduleid, no matter what tabid is...
If I understand this correctly, this would return all the rows where moduleid is the one you specified, no matter if @tabid is null or not. That makes the @TabId rather pointless, don't you think?