问题标签 [dotnetnuke-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
536 浏览

deployment - Dot Net Nuke 模块有哪些好的模块开发解决方案/环境/最佳实践

从版本 2 开始,我一直在为 DNN 开发模块,那时我能够在我的环境中开发它时轻松地运行我的模块,并且仍然可以轻松地将我的模块部署为 DLL。当版本 4 出现并使用网站解决方案(而不是 Web 应用程序解决方案)时。好像丢了什么东西。我可以继续在我的测试环境中进行开发,并在我做出更改时立即看到更改,但发布对我来说已经变得很头疼。

我主要为一个站点进行开发,特别是在完成更改后,我刚刚使用 FTP 将模块部署到主站点。

我想为多个开发人员建立一个能够在模块上工作的良好环境。

在将东西添加到源代码控制时,人们通常是将所有 DNN 都放入源代码控制中,以便他们可以将整个解决方案投入使用,还是只是他们的模块并且每个人都需要设置自己的开发 DNN 环境?

我想开始组织我的模块项目,以便更多人可以在它们上工作,我对一些最佳实践感到有点迷茫,无论是在这样做还是将这些更改部署到实时站点。

0 投票
3 回答
4644 浏览

asp.net - 在 DotNetNuke 中,如果我只有一个 ModuleId(而不是 TabId),我如何获得一个 ModuleInfo 对象

DNN 框架提供的唯一通过 ID 获取模块的方法还需要一个选项卡 ID。如果我没有标签ID,我该怎么办?

0 投票
3 回答
1903 浏览

dotnetnuke - DotNetNuke 模块间通信

我正在考虑使用 DotNetNuke 4.8.4 进行模块间通信 - 并且想知道是否有人有任何这样做的好例子。

我知道您在发送者上实现了 IModuleCommunicator,在接收者上实现了 IModuleListener - 但除了将它们放在同一页面上之外,没有看到将它们联系在一起的方法。

给定页面上的所有监听器都监听给定页面上的所有发件人吗?如果是这样,过滤掉噪音的最佳做法是什么?

0 投票
2 回答
2806 浏览

user-controls - DNN 5 - 无法从自定义模块中的嵌套用户控件中获取当前 ModuleId

我正在为 DNN 5 编写一个自定义模块,并且我需要在模块中的每个控件上都有一个“管理”链接。我创建了一个继承自 PortalModuleBase 的新用户控件(“ManagerLink”),将我的链接放入该控件,然后将该控件放在我的所有主要控件上。

问题是 ModuleId 和 TabId 在“ManagerLink”嵌套控件中始终为 -1。PortalId 工作得很好,我可以通过 PortalSettings.ActiveTab.TabID 得到一个 TabId。

  1. 为什么我不能从“ManagerLink”控件中获取 ModuleId 和 TabId,即使它继承自 PortalModuleBase?

  2. 是否有获取 ModuleId 的替代方法(等效于 PortalSettings.ActiveTab.TabID)

2014 年更新:

刚刚看到另一个比原来更好的答案(并接受了它)。

如果您使用的是 DNN 6 及更早版本,请替换ModuleBasePortalModuleBase

0 投票
2 回答
3594 浏览

dotnetnuke - 调试 DotNetNuke 模块

DotNetNuke 4.8 模块间通信开发的最佳 VS 解决方案设置是什么?

我目前有一个解决方案,其中包含多个 Web 应用程序项目,用于我的 DotNetNuke 模块 - 每个模块都有带有控件的页面作为测试工具。这一切都很好,直到我需要模块开始使用 IModuleCommunicator 和 IModuleListener 相互通信 - 但现在我正在进行模块间通信,调试将不再以这种方式进行。

我很好奇其他人是如何处理这个问题的——有没有办法让你的测试页面模拟 Nuke 环境?你在核弹网站上测试吗?我的解决方案是使用 VSS 进行源代码控制,因此我不想将完整的 nuke 网站作为项目添加到我的解决方案中,因为这会迫使我将其添加到源代码控制中——而且我宁愿没有完整的 nuke 网站源头控制。

我已经能够通过附加到本地 IIS 工作进程进行调试,但这有点痛苦。有没有人对如何减轻调试模块间通信的痛苦有任何建议?

任何建议将不胜感激。

0 投票
3 回答
760 浏览

dotnetnuke - 页面中缺少 DotNetNuke 模块

我一直在为 nuke 4.8.4 站点开发的 nuke 模块有一个奇怪的问题。

我有一个模块只是拒绝允许将另一个模块放置在同一窗格中的下方。只要它是窗格中的最后一个模块,一切都可以正常加载,但是如果将其移动到其他模块上方,则其他模块将不会加载。

我最初认为模块的标记有些奇怪,导致它覆盖其他模块 - 但是当我在页面上查看源代码时,源代码中甚至不存在其他模块。

以前有没有人见过这个问题,如果有,你是如何解决这个问题的?

编辑:我们已经构建了十几个模块 - 一个模块在我的机器上执行此操作,但一个不同的模块在另一位开发人员的机器上执行此操作。在每台机器上,为一个开发者损坏的模块对另一个开发者来说工作正常。

我们注意到的另一件有趣的事情是,如果这些模块中的一个在页面上,GetTabModules 将为一个模块返回 2 行,它们都具有相同的 ModuleID。

0 投票
1 回答
1033 浏览

dotnetnuke - DotNetNuke 模块卸载错误

每次我卸载 DotNetNuke 模块并选中删除文件的框时,它都会完全杀死我的网站。

我在 x86 Windows 7 beta 上运行 IIS7,并且在 4.8.4 和 4.9.2 中都遇到了这个问题。当错误发生时,如果我替换 bin 文件夹中的所有 DLL 文件,该站点就会恢复活力。

有谁知道这个的解决方法?

我得到的错误如下...

编译器错误消息:BC30002:未定义类型“IClientAPICallbackEventHandler”。

源错误:

第 41 行:''' -------------------------------------------- --------------------------------- 第 42 行:部分类 DefaultPage 第 43 行:继承 DotNetNuke.Framework.CDefault :实现IClientAPICallbackEventHandler 第 44 行: 第 45 行:#Region“属性”

源文件:C:\inetpub\wwwroot\Default.aspx.vb 行:43

编辑:在卸载模块期间从 /bin 文件夹中删除的文件是: DotNetNuke.Services.Syndication.dll
DotNetNuke.WebControls.dll
DotNetNuke.WebUtility.dll
SharpZipLib.dll

我没有直接引用这些文件中的任何一个 - 所以我猜测它一定是卸载过程中的某种错误。仅当我的 DotNetNuke.dll 参考上的“复制本地”设置为“真”时,这些文件才会在卸载期间被删除。

0 投票
2 回答
1166 浏览

asp.net - DotNetNuke ObjectDataSource.SelectMethod 未保存在视图状态中

我正在使用 DotNetNuke 4.9.2 并且遇到了一个奇怪的问题。

我正在开发的模块中有一个 MultiView,其中一个视图中有一个绑定到 ObjectDataSource 的 GridView。

在一个单独的视图中,我有几个按钮可以在第二个视图中切换 ObjectDataSource 的 SelectMethod,然后将该视图设置为活动状态。一切正常,直到网格在第二个视图上排序 - 这会导致回发并且 ODS 以某种方式获取其原始 SelectMethod。但是,在代码隐藏中同时分配的 SelectParameters 仍然存在。

在我看来,ObjectDataSource 应该记住视图状态中的 SelectMethod,不是吗?

当我运行该按钮单击时,网格按预期显示。当我单击 GridView 的列标题之一并中断页面加载以检查 SelectMethod 时,它已恢复为标记中声明的标题。

关于我的问题可能在这里的任何建议?

0 投票
3 回答
1837 浏览

javascript - 为什么 document.write 不再为我工作?

我在 DotNetNuke 工作,但这似乎并不是严格意义上的 DNN 问题。

我在我的名为 FormatEmail 的模块中使用了 DNN 提供的方法,它使用 document.write 来写出一封电子邮件,如下所示:

我刚刚安装了 DNN 5,我知道它包括 jQuery 以及代码库的其他附加功能。jQuery 会阻止 document.write 代码工作吗?

DNN 是否应该使用另一种方法来隐藏机器人的文本?

我应该停止使用这种方法来隐藏我的电子邮件地址吗?

更新:该页面未使用 xhtml。

0 投票
1 回答
559 浏览

dotnetnuke - 自定义 DNN 模块

我正在尝试修改 dnn 附带的标准 dnn 模块(链接)。基本上我想要的是制作当前链接模块的副本并改变它的外观。我查看了链接模块内部,每个链接都放在一个表格单元格中。我想将表格单元格的背景设置为图像并具有鼠标悬停效果。

我怎样才能做到这一点?容器可以吗?我不想重新编码链接模块功能。

我还想创建另一种类型的链接模块。我要求这个模块有一个标题、一个子标题(这是可选的),然后是链接。由于原始链接模块中的表格不允许副标题,我想我必须创建一个新表格并单独管理它。这是正确的下坡路吗?