DNN 7 错误自定义模块
DNN 7 Error custom Module
我正在尝试编写自己的 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
{
}
}
我在 google link 上搜索到以下代码,但我不确定这是解决方案(也不知道如何正确使用它)
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
您的 ascx 具有 Inherits="DesktopModules.HelloWorld",但您的命名空间和 ascx.cs 中的 class 是 "MyModules.HelloWorld"。另外,我会继承 DotNetNuke.Entities.Modules.PortalModuleBase 而不是 ModuleUserControlBase.
我强烈建议您重新考虑您的观点并开始使用 Chris Hammond 的模板或 DotNetNuclear 的模板。
如果没有别的原因,你可以盯着他们看,向他们学习。 dnnHero.com 上的 DotNetNuclear 教程和 Chris 在其网站和 dnnsoftware.com 上的教程也是一个很好的起点。
还有,不要让我忘记 Clint Patterson 在 dnnsoftware.com 上的一系列教程。基本但全面,涵盖所有基础并回答许多初学者类型的问题。
我正在尝试编写自己的 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
{
}
}
我在 google link 上搜索到以下代码,但我不确定这是解决方案(也不知道如何正确使用它)
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
您的 ascx 具有 Inherits="DesktopModules.HelloWorld",但您的命名空间和 ascx.cs 中的 class 是 "MyModules.HelloWorld"。另外,我会继承 DotNetNuke.Entities.Modules.PortalModuleBase 而不是 ModuleUserControlBase.
我强烈建议您重新考虑您的观点并开始使用 Chris Hammond 的模板或 DotNetNuclear 的模板。
如果没有别的原因,你可以盯着他们看,向他们学习。 dnnHero.com 上的 DotNetNuclear 教程和 Chris 在其网站和 dnnsoftware.com 上的教程也是一个很好的起点。
还有,不要让我忘记 Clint Patterson 在 dnnsoftware.com 上的一系列教程。基本但全面,涵盖所有基础并回答许多初学者类型的问题。