如何在没有DAL的情况下创建一个简单的Dotnetnuke模块

Nor*_*an 0 vb.net asp.net dotnetnuke dotnetnuke-module

我一直在寻找方法来做这几天......它真的杀了我......任何人,请帮忙.

我想在DNN(VB)中创建一个新模块......

1. does not use DAL or DAL+
2. has only one view.ascx control
3. It has to be a compiled module
Run Code Online (Sandbox Code Playgroud)

我不需要数据库连接和任何铃声和口哨只是一个视图控件.我认为这很简单,但谷歌搜索一天,它似乎很复杂.

任何愿意一步一步发布的人都会很棒......

I have the development environment already set up with;
1. DNN Starter kit
2. VS 2008
3. SQL server
4. DNN up and running in IIS
5. the project builds successfully
Run Code Online (Sandbox Code Playgroud)

如果有人知道我可以使用VS 2008中的DNN动态模块模板构建模块,然后剥离DAL和所有不必要的层和额外的控件,直到我只有一个工作的view.ascx打印出"Hello World! " 到屏幕......那太好了!

非常感谢Norman.

PS :(我也在adefwebserver.com(http://www.adefwebserver.com/DotNetNukeHELP/DNN5_HelloWorld/Default.htm)尝试了hello world教程 - 并且该向导不会像在教程中那样出现.)

Ian*_*son 6

当我第一次学习绳索时,我建议从头开始编写它并跳过所有的模板,哼哼,垃圾.

以下是基本步骤:

  1. 创建一个新的Visual Studio"ASP.NET Web应用程序"项目,我在博客文章中概述了Web应用程序项目的基本配置设置:使用Web应用程序项目(WAP)创建DotNetNuke模块
  2. 添加对DotNetNuke.dll的引用
  3. 添加新的Web用户控件(.ascx)文件 - 将其命名为View.ascx.
  4. 确保用户控件继承自PortalModuleBase(见下文).用一些示例hello world代码填写(再次,见下文)
  5. 您可以将此用户控件(单独)导入DNN.在DNN 5中,从主机 - >模块定义页面中选择"创建新模块".
  6. 然后,您可以根据需要从主机 - >模块定义或主机 - >扩展页面导出模块包(请记住,您需要在本地运行才能导出包,它不会让您这样做它,如果你在远程服务器或其他东西)

View.ascx:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="View.ascx.vb" Inherits="HelloWorld.View" %>

<h1><asp:Literal ID="PageHeaderText" runat="server" /></h1>
Run Code Online (Sandbox Code Playgroud)

View.ascx.vb:

Imports DotNetNuke.Entities.Modules

Partial Public Class View
    Inherits PortalModuleBase

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            PageHeaderText.Text = "Hello World"
        End If
    End Sub

End Class
Run Code Online (Sandbox Code Playgroud)