dwz下载地址: http://lizinet.com/Download1/File/5.aspx  http://code.google.com/p/dwz/

文件中已包含使用文档和完整的示例。官方的学习建议是

1.通读DWZ文档,很多新手提的问题文档中都写了。
2. 看demo每个组件演示效果和代码(留意组件html结构)。
3.建议安装firebug,用firebug看html结构、CSS和调试JS都非常方便。见附录一 firebug介绍。
4. 对于初学者不建议看DWZ全部源码,但还是非常有必要看看dwz.ui.js和dwz.ajax.js
5.可以从google code下载dwz_thinkphp版本,结合php后台去理解DWZ和服务器端的交互方式

个人觉得DWZ确实做得简单方便,容易使用,各种js效果也做得很丰富,其实参考demo每个组件的用法,再结合一下文档还是很容易上手的。

以下是自己对dwz的学习笔记,使用工具VS2010和SQL2005,后台Linq操作数据库

首先做一个master页(系统框架页),包括左侧菜单导航,页头工具导航和多选择的页面。

新建一个网站,使用默认创建的页面Default.aspx做master页,dwz的文件和Default.aspx放在同一目录下,

如图

在Defalut.aspx页面,在<head></head>之间放入所需的css和js,其实Default.apx中的html直接在dwz-ria目录中的index.htm直接复制过就可以了。

<link href="themes/default/style.css" rel="stylesheet" type="text/css" media="screen" />

<link href="themes/css/core.css" rel="stylesheet" type="text/css" media="screen" />

<link href="themes/css/print.css" rel="stylesheet" type="text/css" media="print" />

<link href="uploadify/css/uploadify.css" rel="stylesheet" type="text/css" media="screen" />

<!--[if IE]>

<link href="themes/css/ieHack.css" rel="stylesheet" type="text/css" media="screen"/>

<![endif]-->

<style type="text/css"> #header { height: 85px; } #leftside, #container, #splitBar, #splitBarProxy { top: 90px; } </style>

<script src="js/speedup.js" type="text/javascript"></script>

<script src="js/jquery-1.7.1.js" type="text/javascript"></script>

<script src="js/jquery.cookie.js" type="text/javascript"></script>

<script src="js/jquery.validate.js" type="text/javascript"></script>

<script src="js/jquery.bgiframe.js" type="text/javascript"></script>

<script src="xheditor/xheditor-1.1.12-zh-cn.min.js" type="text/javascript"></script>

<script src="uploadify/scripts/swfobject.js" type="text/javascript"></script>

<script src="uploadify/scripts/jquery.uploadify.v2.1.0.js" type="text/javascript"></script>

<script src="js/dwz.core.js" type="text/javascript"></script>

<script src="js/dwz.util.date.js" type="text/javascript"></script>

<script src="js/dwz.validate.method.js" type="text/javascript"></script>

<script src="js/dwz.regional.zh.js" type="text/javascript"></script>

<script src="js/dwz.barDrag.js" type="text/javascript"></script>

<script src="js/dwz.drag.js" type="text/javascript"></script>

<script src="js/dwz.tree.js" type="text/javascript"></script>

<script src="js/dwz.accordion.js" type="text/javascript"></script>

<script src="js/dwz.ui.js" type="text/javascript"></script>

<script src="js/dwz.theme.js" type="text/javascript"></script> <script src="js/dwz.switchEnv.js" type="text/javascript"></script>

<script src="js/dwz.alertMsg.js" type="text/javascript"></script>

<script src="js/dwz.contextmenu.js" type="text/javascript"></script>

<script src="js/dwz.navTab.js" type="text/javascript"></script>

<script src="js/dwz.tab.js" type="text/javascript"></script>

<script src="js/dwz.resize.js" type="text/javascript"></script>

<script src="js/dwz.dialog.js" type="text/javascript"></script>

<script src="js/dwz.dialogDrag.js" type="text/javascript"></script>

<script src="js/dwz.sortDrag.js" type="text/javascript"></script>

<script src="js/dwz.cssTable.js" type="text/javascript"></script>

<script src="js/dwz.stable.js" type="text/javascript"></script>

<script src="js/dwz.taskBar.js" type="text/javascript"></script>

<script src="js/dwz.ajax.js" type="text/javascript"></script>

<script src="js/dwz.pagination.js" type="text/javascript"></script>

<script src="js/dwz.database.js" type="text/javascript"></script>

<script src="js/dwz.datepicker.js" type="text/javascript"></script>

<script src="js/dwz.effects.js" type="text/javascript"></script>

<script src="js/dwz.panel.js" type="text/javascript"></script>

<script src="js/dwz.checkbox.js" type="text/javascript"></script>

<script src="js/dwz.history.js" type="text/javascript"></script>

<script src="js/dwz.combox.js" type="text/javascript"></script>

<script src="js/dwz.print.js" type="text/javascript"></script>

<!-- <script src="bin/dwz.min.js" type="text/javascript"></script> -->

<script src="js/dwz.regional.zh.js" type="text/javascript"></script>

 

<script type="text/javascript">        

$(function () {            

DWZ.init("dwz.frag.xml", {                

loginUrl: "Login.aspx", loginTitle: "登录", // 弹出登录对话框                

statusCode: { ok: 200, error: 300, timeout: 301 }, //【可选】                

pageInfo: { pageNum: "pageNum", numPerPage: "numPerPage", orderField: "orderField", orderDirection: "orderDirection" }, //【可选】                 debug: false, // 调试模式 【true|false】                

callback: function () {                    

initEnv();                    

$("#themeList").theme({ themeBase: "themes" }); // themeBase 相对于index页面的主题base路径                    

//$("#sidebar .toggleCollapse div").trigger("click");  

}            

});        

});

</script>

说明:js文件在项目发布的时候,js部份可以使用红色字体标明的js代替,dwz.min.js是编译的js文件,体积比较小。

1、整个页面框架在<div id="layout"></div>

 

2、然后就是框架的头部 <div id="header"></div>

 

3、页面样式设置部份

<ul class="themeList" id="themeList">       

<li theme="default">              

<div class="selected"> 蓝色</div>                    

</li>                    

<li theme="green">                        

<div> 绿色</div>                    

</li>                    

<li theme="purple">                        

<div>紫色</div>                    

</li>                    

<li theme="silver">                        

<div> 银色</div>                    

</li>                    

<li theme="azure">                        

<div>  天蓝</div>          

</li>

</ul>

 

 

4、横向工具条

<div id="navMenu">          

<ul>                    

<li><a href="#" target="_blank"><span>关于我们</span></a></li>                    

<li><a href="http://www.baidu.com" target="navTab"><span>百度一下</span></a></li>                    

<li><a href="Exit.aspx"><span>退出系统</span></a></li>         

</ul> </div>

 

5、左侧菜单导航部份

<div id="leftside">   

<div id="sidebar_s">    

<div class="collapse">     

<div class="toggleCollapse"><div></div>

</div>    

</div>   

</div>   

<div id="sidebar">    

<div class="toggleCollapse"><h2>主菜单</h2><div>收缩</div></div>                

<div class="accordion" fillspace="sidebar">                                  
                    <%=writeTree()%>                 </div>            

</div>

</div>

上面红色字体部份是在cs文件写的从数据库读取菜单的方法,如下:

public string writeTree() {        

tree = new StringBuilder();        

List<BX.Modules.SYS_AuthorityList> tempList = list.Where(a => a.ParentID == 0).ToList();        

foreach (BX.Modules.SYS_AuthorityList authority in tempList)        

{            

tree.Append("<div class='accordionHeader'>");            

tree.Append("<h2>");            

tree.Append("<span>Folder</span>" + authority.AuthorityName + "</h2></div>");            

tree.Append("<div class='accordionContent'>");            

tree.Append("<ul class='tree expand treeFolder'>");            

CreateTreeNode(authority.ID);            

tree.Append("</ul>");            

tree.Append("</div>");        

}        

return tree.ToString();

}

/// <summary>

/// 树递归

/// </summary>

/// <param name="parentid"></param>

protected void CreateTreeNode(int parentid) {        

List<BX.Modules.SYS_AuthorityList> tempList = list.Where(area => area.ParentID == parentid).ToList();        

if (tempList.Count > 0)        

{            

foreach (BX.Modules.SYS_AuthorityList a in tempList)            

{                

if (a.IsWhole == 1)                

{                    

tree.Append("<li><a target='" + a.Target + "' rel='" + a.Rel + "' mask='" + a.Mask + "'  href='../" + a.AuthorityUrl + "'>" + a.AuthorityName + "</a>");                    

CreateSubNode(a.ID);                    

tree.Append("</li>");                

}            

}        

}

}

/// <summary>

/// 树递归

/// </summary>

protected void CreateSubNode(int parentid) {   

List<BX.Modules.SYS_AuthorityList> tempList = list.Where(area => area.ParentID == parentid).ToList();        

if (tempList.Count > 0)        

{            

StringBuilder str = new StringBuilder();            

foreach (BX.Modules.SYS_AuthorityList a in tempList)            

{                

if (a.IsWhole == 1)                

{                    

str.Append("<li><a target='" + a.Target + "' rel='" + a.Rel + "' mask='" + a.Mask + "'  href='../" + a.AuthorityUrl + "'>" + a.AuthorityName + "</a>");                    

CreateSubNode(a.ID);                    

str.Append("</li>");                

}            

}            

if (str.Length > 0)            

{                

tree.Append("<ul>");                

tree.Append(str.ToString());                

tree.Append("</ul>");            

}      

}

}

6、剩下的就是页面选择卡的内容,在<div id="container"></div>之间

posted on 2012-11-26 22:23  柏柏  阅读(792)  评论(0)    收藏  举报