导言:
酝酿了几天,终于想好怎么开始下一节了.实在是不容易.接下来我将介绍怎么搭建dnn6解决方案.
续接:
找齐这些工具之后,迫不及待的想开始进行开发了,这个时候,一个很基本的问题出现在我们的眼前,怎么组织dnn6的项目结构.现在比较流行三层架构,那么必须的,首先有一个解决方案,很明显,dnn6安装的网站就是View层,至于其它的,可以很自由,熟悉什么框架技术或者持久层技术就加上好了.最后就是加页面的问题,是整个项目的加,还是一页一页的加进去.所以,个人觉得创建dnn6项目分成两种方法.
先看基本的dnn6项目结构.然后将一步步介绍怎么加页面.
图1 基本dnn6项目结构
1. 一页一页的加.
在dnn网站的desktopmodules下增加web用户控件.
图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功能块中.
图4 进入host下的Extentions块中.
在Edit模式下,选择创建新扩展.(create new extention)
图5 增加新扩展
7) 填写对应的信息,选择Module.
图6 填写模块信息
8) 之后在Extention的Module下找到Example,点那支笔,增加模块定义和控件.控件就是刚刚增加的那个页面.然后保存.
图7 增加模块定义和控件.
9) 增加页面,并在页面上增加模块.
图8 增加页面
图9 增加模块
最后,就能看到效果了.如下图.
图10 最后效果
2. 使用工具,整个项目都加进去.
个人觉得,做页面的时候最好不要把网站加进去,因为这个网站只要一编译或者一调试就容易出错,直接往上面加就好了.废话少说,先看目录结构吧!
图11 目录结构
下面看步骤吧!
1) 往解决方案中增加新项目.注意项目所在位置为网站的desktopMoudules文件夹.
图12 增加页面项目
2) 重新设置项目的属性.
图13 设置项目属性
这里要查看下该项目下是否有web.Config文件,有的话就删掉,以免跟网站的配置文件矛盾.
3) 增加页面.
增加页面ViewStudent.ascx,操作跟前面类似.下面贴出代码.
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();
}
}
}
}
}
4)加到网站中. 步骤跟前面类似.
图14 最后页面效果
3. 小结
作为项目实施最基础的一步,对初学者来说往往很难迈出去,即使本人调试这个东西也花了一个上午,这都是个人实践总结,希望对初学者能有帮助.强烈推荐搭建项目的时候采用第二种方法,这会给你带了很多便利.多谢大家的支持.希望共同学习,共同进步.有什么不明白的,可以加本人qq:583391571.有空一定为你解答.