dnn6 入门系列:二 怎么搭建dnn6解决方案?

dnn6 入门系列:二 怎么搭建dnn6解决方案?

导言:

酝酿了几天,终于想好怎么开始下一节了.实在是不容易.接下来我将介绍怎么搭建dnn6解决方案.

续接:

找齐这些工具之后,迫不及待的想开始进行开发了,这个时候,一个很基本的问题出现在我们的眼前,怎么组织dnn6的项目结构.现在比较流行三层架构,那么必须的,首先有一个解决方案,很明显,dnn6安装的网站就是View,至于其它的,可以很自由,熟悉什么框架技术或者持久层技术就加上好了.最后就是加页面的问题,是整个项目的加,还是一页一页的加进去.所以,个人觉得创建dnn6项目分成两种方法.

先看基本的dnn6项目结构.然后将一步步介绍怎么加页面.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

1 基本dnn6项目结构

1.         一页一页的加.

dnn网站的desktopmodules下增加web用户控件.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

2 增加页面目录

下面举个例子,试试这种效果.以下是步骤.

1)      在该目录下新建一个Test文件夹,然后增加一个WebUserControl.名称为Example.

2)      修改代码文件的基类为DotNetNuke.Entities.Modules.PortalModuleBase.保存.

3)      往页面上拖两个控件.一个lable,一个button.编写简单的button事件.

protected void Button1_Click(object sender, EventArgs e)

    {

        this.Label1.Text = "my first dnn pages!";

    }

4)      Build 解决方案,你会发现如下错误.


3 常见错误

解决方案是:点击这个错误,把这个页面排除在项目之外就可以解决,实际上系统对基本没有使用.

5)      如果出现没有定义控件的错误,在哪个webUserControl下增加一个designer文件.因为增加的时候比正常的少了.可能发现不了.

6)      host身份登录到网站中.进入Extentions功能块中.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

4 进入host下的Extentions块中.

Edit模式下,选择创建新扩展.(create new extention)

dnn6 入门系列:二 怎么搭建dnn6解决方案?

5 增加新扩展

 

7)      填写对应的信息,选择Module.

 

dnn6 入门系列:二 怎么搭建dnn6解决方案?

6 填写模块信息

8)      之后在ExtentionModule下找到Example,点那支笔,增加模块定义和控件.控件就是刚刚增加的那个页面.然后保存.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

7 增加模块定义和控件.

9)      增加页面,并在页面上增加模块.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

8 增加页面

dnn6 入门系列:二 怎么搭建dnn6解决方案?

9 增加模块

最后,就能看到效果了.如下图.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

10 最后效果

 

2.         使用工具,整个项目都加进去.

个人觉得,做页面的时候最好不要把网站加进去,因为这个网站只要一编译或者一调试就容易出错,直接往上面加就好了.废话少说,先看目录结构吧!

dnn6 入门系列:二 怎么搭建dnn6解决方案?

11 目录结构

下面看步骤吧!

1)        往解决方案中增加新项目.注意项目所在位置为网站的desktopMoudules文件夹.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

12 增加页面项目

2)        重新设置项目的属性.

dnn6 入门系列:二 怎么搭建dnn6解决方案?

13 设置项目属性

这里要查看下该项目下是否有web.Config文件,有的话就删掉,以免跟网站的配置文件矛盾.

3)        增加页面.

增加页面ViewStudent.ascx,操作跟前面类似.下面贴出代码.

<%@ Control Language= " C# " AutoEventWireup= " true " CodeBehind= " ViewStudent.ascx.cs " Inherits= " FirstModule.ViewStudent " %>
<div>
<p>
交谈中请勿轻信汇款、中奖信息、陌生电话,勿使用外挂软件。

飘动的心( 251414041)   9: 56: 01
WE7 CMS如何?
    浅 陌( 254083034)   9: 56: 10
一直用
猫小喵( 381574171)   9: 56: 12
烂 
(来自手机QQ: http: // mobile.qq.com/v/ )  
飘动的心( 251414041)   9: 56: 30
烂????
    浅 陌( 254083034)   9: 57: 04
和DNN比当然烂了- -
    浅 陌( 254083034)   9: 57: 12
和国内那些比还算好吧
飘动的心( 251414041)   9: 57: 16

飘动的心( 251414041)   9: 57: 23
DNN什么都要开自己开发
飘动的心( 251414041)   9: 58: 00
人家还好KOOBOO比DNN还要好呢
郭龙( 51829747)   10: 03: 36
网站 这个东西,看得见的东西一般都得自己开发,DNN还不错,有那么多可以花点钱就能买的 东西,省多少开发时间啊
飘动的心( 251414041)   10: 08: 32
WE7 性能如何?
    浅 陌( 254083034)   10: 09: 58
没什么感觉,就是做个企业站,没测试过
飘动的心( 251414041)   10: 10: 31
作个企业站要动这么大个东西?
    浅 陌( 254083034)   10: 15: 29
没什么大的啊,方便不是
飘动的心( 251414041)   10: 15: 36
WE7有很全的文档啊
飘动的心( 251414041)   10: 16: 17
DNN
KOOBOO  都是英文的
    浅 陌( 254083034)   10: 16: 30
网站上的文档很多都没内容
    浅 陌( 254083034)   10: 16: 46
官方社区问个问题基本你别指望有人回答你
飘动的心( 251414041)   10: 16: 48

不死鸟( 88568628)   11: 20: 29
正则验证 长度6-18位  怎么写 有误高手
不死鸟( 88568628)   11: 20: 33
有无高手

</p>
<hr />
sdfsdfsdfsdfds
<asp:GridView ID= " GV_Students " runat= " server ">
</asp:GridView>
</div>

using System;
using System.Collections.Generic;
using System.Linq;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FirstModule
{
    public partial class ViewStudent : DotNetNuke.Entities.Modules.PortalModuleBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GV_Students.DataSource = (new BussinessLogic.StudentBussiness()).QueryAll();
                GV_Students.DataBind();
            }
        }
    }
}

    public IList<student> QueryAll()
        {
             try
            {
                 var result =  from stu  in DBContext.ssd.students
                              where  1 ==  1
                              orderby stu.cometime ascending
                              select stu  ;
              
                 return result.ToList();
            }
             catch (Exception)
            {
                 return  null;
                 throw;
            }

        }       

4)加到网站中. 步骤跟前面类似.

 

dnn6 入门系列:二 怎么搭建dnn6解决方案? 

图14 最后页面效果 

 

 

3.         小结

作为项目实施最基础的一步,对初学者来说往往很难迈出去,即使本人调试这个东西也花了一个上午,这都是个人实践总结,希望对初学者能有帮助.强烈推荐搭建项目的时候采用第二种方法,这会给你带了很多便利.多谢大家的支持.希望共同学习,共同进步.有什么不明白的,可以加本人qq:583391571.有空一定为你解答.

你可能感兴趣的:(解决方案)