0

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

我想在 DNN (VB) 中创建一个新模块……那个;

1. does not use DAL or DAL+
2. has only one view.ascx control
3. It has to be a compiled module

我不需要数据库连接和任何花里胡哨的东西,只需一个视图控件。我认为这很简单,但现在谷歌搜索了一天,它似乎很复杂。

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

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

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

非常感谢,诺曼。

PS:(我也尝试了 adefwebserver.com 上的 hello world 教程(http://www.adefwebserver.com/DotNetNukeHELP/DNN5_HelloWorld/Default.htm)-并且该向导没有像教程中那样显示.)

4

1 回答 1

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. 然后,如果需要,您可以从 Host -> Module Definitions 或 Host -> Extensions 页面导出模块包(但请记住,您需要在本地运行才能导出包,它不会让您这样做如果你在远程服务器上或其他东西上)

查看.ascx:

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

<h1><asp:Literal ID="PageHeaderText" runat="server" /></h1>

查看.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
于 2010-06-25T15:50:46.263 回答