如果您正在网页上开发多个模块,这些模块显示不同的内容,例如基于通过查询字符串传递的userId的bio或图片等内容。
在页面加载时,网页上的所有模块都应独立运行,并单独查看查询字符串并根据userId返回内容。
同样,模块应该在允许修改内容之前单独检查正确的用户是否已登录。
我之前为一个网站制作了一个或两个模块,但这是我第一次开发DotNetNuke网站,我只是不确定这是否是唯一的方法。
答案 0 :(得分:6)
您的用户控件应该已经从DotNetNuke.Entities.Modules.PortalModuleBase
继承。如果是这样,您可以使用this.UserInfo.UserID
属性来检索用户的ID。这比查看查询字符串要安全得多。请记住,用户可能没有登录,在这种情况下,上面会导致空引用 - 所以一定要先测试为null。
此外,在某种相关说明中,您可以使用this.UserInfo.IsInRole("RoleName")
进行测试,以查看特定用户是否处于给定角色。
答案 1 :(得分:2)
每个模块应独立于其他模块工作。
另外,我认为您不应该查看查询字符串以获取您的用户ID,因为这可能是欺骗性的。相反,请查看模块的基类,以查看是否存在包含用户信息的属性。