2015-02-06 3 views
0

Я пытаюсь закодировать свой собственный модуль DNN 7, чтобы узнать.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 мне ссылку на следующий код, но я не уверен, что это решение (и не знают, как правильно его использовать)

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

Взгляните на эту ссылку. Я использую этот шаблон уже несколько лет для создания модулей, и он отлично работает. http://dnntcmsbuild.codeplex.com/documentation – JK84

+0

@ JK84: Thanx, но я не хочу использовать шаблон. –

ответ

2

У вашего ascx есть Inherits = «DesktopModules.HelloWorld», но ваше пространство имен и класс в вашем ascx.cs - это «MyModules.HelloWorld». Кроме того, я бы наследовал от DotNetNuke.Entities.Modules.PortalModuleBase вместо ModuleUserControlBase.

2

Я настоятельно рекомендую вам пересмотреть свою точку зрения и начать использовать шаблон Криса Хаммонда или шаблон DotNetNuclear.

Если по какой-либо другой причине вы можете смотреть на них и учиться у них. Учебники DotNetNuclear на dnnHero.com и учебное пособие Криса на его сайте и на dnnsoftware.com также являются отличным местом для начала.

И не позволяйте мне забыть набор учебных пособий Клинта Паттерсона на dnnsoftware.com. Элементарно, но тщательно и охватывать все базы и отвечать на многие вопросы типа новичка.

Смежные вопросы