DNN 7错误自定义模块

时间:2015-02-06 09:17:30

标签: module dotnetnuke

我正在尝试编写自己的DNN 7模块,以便学习。

我实际上关注this tutorial

我已创建该模块,并显示此错误。

Error: HelloWorld 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 ---

这是我的ascx代码

<%@ Control Language="C#"
    AutoEventWireup="true"
    CodeFile="HelloWorld.ascx.cs"
    Inherits="DesktopModules.HelloWorld"
%>
<h1>Hello Dude</h1>
<p>Some text here</p>

我的ascx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetNuke.UI.Modules;

namespace MyModules
{
    public partial class HelloWorld : ModuleUserControlBase
    {

    }
}

在谷歌上搜索链接我以下代码,但我不确定这是解决方案(并且不知道如何正确使用它)

override protected void OnInit(EventArgs e)
    {
        InitializeComponent();
        base.OnInit(e);
    }
    private void InitializeComponent()
    {
        this.Load += new System.EventHandler(this.Page_Load);
    }

2 个答案:

答案 0 :(得分:2)

您的ascx具有Inherits =&#34; DesktopModules.HelloWorld&#34;,但您的ascx.cs中的命名空间和类是&#34; MyModules.HelloWorld&#34;。另外,我将继承DotNetNuke.Entities.Modules.PortalModuleBase而不是ModuleUserControlBase。

答案 1 :(得分:2)

我强烈建议您重新考虑您的观点并开始使用Chris Hammond的模板或DotNetNuclear的模板。

如果没有其他原因,你可以盯着他们并向他们学习。 DnnHero.com和Chris&#39;的DotNetNuclear教程他的网站和dnnsoftware.com上的教程也是一个很好的起点。

而且,不要让我忘记在dnnsoftware.com上的Clint Patterson的一套教程。小学,但彻底,涵盖所有基础,并回答许多初学者类型的问题。