2013-01-08 47 views
0

我已经使用Web应用程序项目创建了一个自定义网格模块MySQLGrid,程序集文件MySQLGrid.dll位于DNN bin文件夹中。它独自运作良好。现在我想在另一个模块中使用它。我在某个地方看过要在另一个模块中使用模块,我们需要先注册它。来自程序集DotNetnuke寄存器和显示模块

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

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

,并在页面上创建控件作为

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

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

Error: Test Grid is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- End of inner exception stack trace ---

什么是正确的方式来重新使用编译的模块在另一个里面?

+0

我将注册块更改为<%@ Register TagPrefix =“msg”TagName =“SQLGrid”Src =“〜/ DesktopModules/MySQLGrid/View.ascx”%>现在模块在设计器中呈现为usercontrol但仍未加载DNN并给出错误。 – SamTech

回答

1

反正问题已解决。我注册模块为

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

现在它工作正常。 在testgrid模块中有一个问题阻止它显示。