后台管理框架

为了让项目给人的感觉稳重,美观,便于统一编程管理,准备采用框架来实现后台管理模块。

一直都没有重视ext,以为有jqurey就可以解决所有的js问题了,也许是可以解决,O(∩_∩)O哈哈~,我技术水平还不到哦,不能完全的灵活的使用jquery。

ext虽然比jQuery大多了,但是同样功能也强大多了,我也只是对着网上的手册,稍微的大概的写了一个框架,能够自适应高度,根据不同的用户权限,从xml中读取数据库,显示不同的树形菜单。

不过说到底就是几个iframe组成的,只是比起传统的iframe生硬的组合,而是动态生成的iframe,好看了点,自由点高了点,还考虑了一 些iframe注入的情况。因为代码太多了,我只是把自己写的比较多的一部分拿去来,和大家分享下

Ext.onReady(function() {
Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif";
var Tree = Ext.tree;
var tree = new Tree.TreePanel({
el: 'west_content',
useArrows: true,
autoHeight: true,
split: true,
lines: true,
autoScroll: true,
animate: true,
enableDD: true,
border: false,
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl: './ext/ext_tree_json.aspx'        })
});

// set the root node
var root = new Tree.AsyncTreeNode({
text: '影像系统管理员',
draggable: false,
id: '0'     });
tree.setRootNode(root);
// render the tree
tree.render();
root.expand();

var viewport = new Ext.Viewport({
layout: 'border',
items: [{
region: 'west',
id: 'west',
//el:'panelWest',
title: '系统菜单导航',
split: true,
width: 200,
minSize: 200,
maxSize: 400,
collapsible: true,
margins: '160 0 2 2',
cmargins: '160 5 2 2',
layout: 'fit',
layoutConfig: { activeontop: true },
defaults: { bodyStyle: 'margin:0;padding:0;' },
//iconCls:'nav',
items:
new Ext.TabPanel({
border: false,
activeTab: 0,
tabPosition: 'bottom',
items: [{
contentEl: 'west_content',
title: '影像系统后台管理',
autoScroll: true,
bodyStyle: 'padding:5px;'

}]
})
}, {
region: 'center',
el: 'center',
deferredRender: false,
margins: '160 0 2 0',
html: '<iframe id="center-iframe" width="100%" height=100%  name="main"  frameborder="0" scrolling="auto" style="border:0px none;  background-color:#ffffff; "   src="admin/articles.aspx"></iframe>',
autoScroll: true
},
{
region: 'south',
margins: '0 0 0 2',
border: false,
html: '<div>版权书写处</div>'
}
]
});

setTimeout(function() {
Ext.get('loading').remove();
Ext.get('loading-mask').fadeOut({ remove: true });
}, 250)
});

注:整个框架参考了火舞狂歌-后台管理框架,直接在vs中运行,有时候会出现ie无响应的情况,但是测试在iis和火狐中正常

url重定向

前两天一直忙着大学的最好的考试,现在好 了,学生时代基本上结束了,暂时可以一心的做开发,写写代码,在考试的这两天中,我只是看了下url重定向,并且稍微的写了点,基本上是可以满足项目 url rewrite的需求了,其实说真的,我在项目中想采用url rewrite,一是为了让url不显示显示很多的参数,给别人注入带来一定的方便;二是为了体验下这个技术,自己一直想写点这个的,因为暑假没有成功; 三是感觉上是静态网页,有成就感。现在稍微的介绍下结合网上的一般重归思路写出来的结果:

使用Intelligencia.UrlRewriter.dll来实现

在web.config中配置:

(1)在<configSections></configSections>节中加上<section name=”rewriter” requirePermission=”false” type=”Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter” />;

(2)在<httpModules></httpModules>节中加上<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter”/>;

(3)在<configuration></configuration>节中添 加<rewriter>    <rewrite url=”~/(.+).html$” to=”~/ViewNews.aspx?ID=$1″ />  </rewriter>   <–重定性规则,按照自己的需求来写,这里对正则表达式基础有点要求–>

测试下,1232.html,是不是出现和id=1232一样的效果。

但是如果你点击该页面的服务器端事件是,url又会变成viewnews.aspx?id=`1232了,这个问题的解决方案网上有两种,一种是重 新form,另一种是重新page,我考虑到保持aspx页面的完整性,采用了重新page的方法来解决,就是一个类文件,在网上下载的叫做 URL.page的,有需要的朋友可以到网上去找下。