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>之间

浙公网安备 33010602011771号