关于DotNetNuke模块开发的简单问题

时间:2009-08-09 15:42:45

标签: content-management-system dotnetnuke dotnetnuke-module

如果您正在网页上开发多个模块,这些模块显示不同的内容,例如基于通过查询字符串传递的userId的bio或图片等内容。

在页面加载时,网页上的所有模块都应独立运行,并单独查看查询字符串并根据userId返回内容。

同样,模块应该在允许修改内容之前单独检查正确的用户是否已登录。

我之前为一个网站制作了一个或两个模块,但这是我第一次开发DotNetNuke网站,我只是不确定这是否是唯一的方法。

2 个答案:

答案 0 :(得分:6)

您的用户控件应该已经从DotNetNuke.Entities.Modules.PortalModuleBase继承。如果是这样,您可以使用this.UserInfo.UserID属性来检索用户的ID。这比查看查询字符串要安全得多。请记住,用户可能没有登录,在这种情况下,上面会导致空引用 - 所以一定要先测试为null。

此外,在某种相关说明中,您可以使用this.UserInfo.IsInRole("RoleName")进行测试,以查看特定用户是否处于给定角色。

答案 1 :(得分:2)

每个模块应独立于其他模块工作。

另外,我认为您不应该查看查询字符串以获取您的用户ID,因为这可能是欺骗性的。相反,请查看模块的基类,以查看是否存在包含用户信息的属性。