Cvv.WebUtility框架是在我学习了promesh.net框架后,根据项目开发的需要,去除一些不必要的特性,添加一些必要的特性,并且运用编译原理的知识重新实现了自己的模板解析算法,再结合.net2.0的等性加入了模板缓存,采用了PetShop的数据分层方式.

 

以下是项目结构图:

 

Cvv.WebUtility 我的MVC框架介绍

 IDAL: 接口层

 Model: 实体层

 SQLiteDAL 和 SQLServerDAL: 数据层

 Web: Web项目层

     App_Data

          Permission.config 权限配置文件

     Languages 语言配置

     Themes 风格根目录

          Default 风格目录

               Images 图片目录

               Layouts 相当于Asp.net里的母板页目录

               Skins 皮肤文件

     Utility 主要用来存放JS文件

 WebApp项目 主要存放控制类

     BasePageControllers 页面控制基类,可以在这里做一些对PageController基础类的扩展,主要是在这里实现Session

     BLL 业务逻辑层

     Components 不知道应该放哪里的代码就放在这里来写

     DALFactory DAL工厂

     DataProxy 代理层

     PageControllers 这里实现页面对应的控制类

     RABC 实现访问控制的代码

     Application 程序初始化的时候加载这个类并且执行其静态方法Init();

 

      下面来说明一下URL与PageController还有Skin的对应关系.例如我们访问一个网址:http://localhost/ssky/Index.aspx,ssky为应用程序所在的目录,index.aspx为我们访问的路径,那它对应的控制类为:Ssky.WebApp.PageControllers根名空间下的Index类,Ssky.WebApp为WebApp的要命名空间,所有的控制类都放在Ssky.WebApp.PageControllers命名空间下,对应的skin文件为:skins/index.html,默认的母板文件为:Layouts/master.html.

 

      下面我们以一个例子说明怎么实现一个注册功能:

 

      1.添加注册skin文件register.html

          

Cvv.WebUtility 我的MVC框架介绍<div class="nav">注册步骤: <strong>1. 填写信息</strong> &gt;  2. 收电子邮件 &gt; 3. 注册成功</div>
Cvv.WebUtility 我的MVC框架介绍
Cvv.WebUtility 我的MVC框架介绍
<div class="content">
Cvv.WebUtility 我的MVC框架介绍    
<%= msg %>
Cvv.WebUtility 我的MVC框架介绍    
<form method="post" action="<%= _SELF_ %>/save" onsubmit="return ckeckForm(this);">
Cvv.WebUtility 我的MVC框架介绍    
<h5>基本信息</h5>
Cvv.WebUtility 我的MVC框架介绍    
<ul class="box">
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">邀请码:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="text" name="invitationCode" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2">邀请码为您注册的必要通行证[<href="">怎么取得邀请码</a>]</li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">帐号:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="text" name="userName" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2">只能是数字、字母和下划线的组合,首字符不可以为数字(3至18个字符)</li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">昵称:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="text" name="nickName" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2">可以为中英文、数字和下划线的组合(1至18个字符)</li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">密码:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="password" name="password" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2">6至18个任意字符,建议采用字符、数字、特殊符号的混和密码</li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">确认密码:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="password" name="rePassword" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2">必须和密码相同的字符组合</li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0">邮箱:</li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="text" name="email" class="input" /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2"></li>
Cvv.WebUtility 我的MVC框架介绍        
Cvv.WebUtility 我的MVC框架介绍        
<li class="col0"></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col1"><input type="submit" value=" 注册 " /></li>
Cvv.WebUtility 我的MVC框架介绍        
<li class="col2"></li>
Cvv.WebUtility 我的MVC框架介绍    
</ul>
Cvv.WebUtility 我的MVC框架介绍    
<input type="Hidden" name="hash" />
Cvv.WebUtility 我的MVC框架介绍    
</form>
Cvv.WebUtility 我的MVC框架介绍
</div>
Cvv.WebUtility 我的MVC框架介绍
Cvv.WebUtility 我的MVC框架介绍
<script type="text/javascript" language="javascript" src="<%= _ROOT_PATH_ %>/Utility/sha256.pack.js"></script>
Cvv.WebUtility 我的MVC框架介绍
>

 

 

      2.添加控制类

 

     

Cvv.WebUtility 我的MVC框架介绍using System;
Cvv.WebUtility 我的MVC框架介绍
using System.Collections.Generic;
Cvv.WebUtility 我的MVC框架介绍
using System.Text;
Cvv.WebUtility 我的MVC框架介绍
using Cvv.WebUtility;
Cvv.WebUtility 我的MVC框架介绍
Cvv.WebUtility 我的MVC框架介绍
namespace Ssky.WebApp.PageControllers

 

 

      3. 添加CSS代码(根据需要添加)

 

 

}

 

实现的效果为:

 

     Cvv.WebUtility 我的MVC框架介绍

 

      比较晚了,明天再接着写,希望在短期内能把自己做的这个东西介绍清楚.

相关文章: