【问题标题】:Dotnetnuke register and display module from assembly组件中的 Dotnetnuke 寄存器和显示模块
【发布时间】:2013-01-08 04:59:39
【问题描述】:

我使用 Web 应用程序项目创建了一个自定义网格模块 MySQLGrid,程序集文件 MySQLGrid.dll 位于 DNN bin 文件夹中。单独它工作得很好。现在我想在另一个模块中使用它。我在某处读到,要在另一个模块中使用一个模块,我们需要先注册它。

所以我首先创建了一个 TestGrid.ascx 模块,然后注册 MySQLGrid 如下

<%@ Register TagPrefix="msg" Assembly="MySQLGrid" Namespace="Samtech.Dnn.Modules.MySQLGrid"%>

并在页面上创建控件

<msg:View id="mygrid" runat="server" />

但是当我在 DNN 中安装和测试 TestGrid 模块时,它显示以下错误

错误:测试网格当前不可用。 DotNetNuke.Services.Exceptions.ModuleLoadException:对象引用未设置为对象的实例。 ---> System.NullReferenceException:对象引用未设置为对象的实例。在 DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- 内部异常堆栈跟踪结束 ---

在另一个模块中重用已编译模块的正确方法是什么?

【问题讨论】:

  • 我将注册块更改为 现在模块在设计器中呈现为用户控件但仍然没有加载 DNN 并给出错误。

标签: module dotnetnuke


【解决方案1】:

无论如何问题已经解决了。我将模块注册为

<%@ Register TagPrefix="msg" TagName="SQLGrid" Src="~/DesktopModules/MySQLGrid/view.ascx" %>

现在它可以正常工作了。 testgrid 模块出现问题,导致其无法显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多