Chinaunix首页 | 论坛 | 博客
  • 博客访问: 874977
  • 博文数量: 372
  • 博客积分: 10063
  • 博客等级: 中将
  • 技术积分: 4220
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 11:36
文章分类

全部博文(372)

文章存档

2012年(372)

分类: 虚拟化

2012-03-01 20:30:04

1:  xml version="1.0"?> 2: <configuration> 3: <configSections> 4: <section name="ExtAspNet" type="ExtAspNet.ConfigSection, ExtAspNet" requirePermission="false"/> 5: configSections> 6: <ExtAspNet EnableBigFont="true" DebugMode="true" /> 7: <appSettings/> 8: <connectionStrings/> 9: <system.web> 10: <pages> 11: <controls> 12: <add assembly="ExtAspNet" namespace="ExtAspNet" tagPrefix="ext"/> 13: controls> 14: pages> 15: <httpModules> 16: <add name="ExtAspNetScriptModule" type="ExtAspNet.ScriptModule, ExtAspNet"/> 17: httpModules> 18: <httpHandlers> 19: <add verb="GET" path="res.axd" type="ExtAspNet.ResourceHandler, ExtAspNet"/> 20: httpHandlers> 21: system.web> 22: configuration> ExtAspNet节中的全局参数
    • Theme: 控件主题,目前支持三种主题风格(blue/gray/access,默认值:blue)
    • Language: 控件语言(en/zh_CN/zh_TW/...,默认值:zh_CN)
    • FormMessageTarget: 表单字段错误提示信息的显示位置(side/qtip,默认值:side)
    • FormOffsetRight: 表单字段右侧距离边界的宽度(默认值:20px)
    • FormLabelWidth: 表单字段标签的宽度(默认值:100px)
    • FormLabelSeparator: 表单字段标签与内容的分隔符(默认值:":")
    • EnableAjax: 是否启用AJAX(默认值:true)
    • AjaxTimeout: AJAX超时时间(单位:秒,默认值:60s)
    • EnableBigFont: 是否启用大字体,将ExtJS默认11px的字体全部改为12px,否则显示的中文字体太小(默认值:false)
    • DebugMode: 是否开发模式,启用时格式化输出页面JavaScript代码,便于调试(默认值:false)
注意:EnableBigFont用来将默认11px的字体全部改写为12px,因为用11px显示中文字体太小,建议启用这个参数。开启DebugMode则会格式化输出页面生成的JavaScript(如下图所示),便于调试时发现问题,在正式发布时一定不要忘记关闭此参数。image system.web节中的配置

1. pages->controls节是为了定义ASPX页面引用控件的前缀,比如在页面中的按钮这样定义:

<ext:Button ID="Button1" Text="展开全部" runat="server"> ext:Button>

注意:正如我们在前一节提到的,虽然可以在每个页面头部添加如下声明:<%@ Register Assembly="ExtAspNet" Namespace="ExtAspNet" TagPrefix="ext" %> 但这种做法过于麻烦,建议在Web.config中增加此配置项。

2. httpModules节是为了在AJAX的环境中使用ASP.NET的 Response.Redirect 方法。

太棒了太棒了太棒了

当我们使用ASP.NET的 Response.Redirect 方法时,响应状态码为302,并在Location响应头中指定要跳转的页面,如下图所示:

image_thumb8

查看ScriptModule.cs的源代码,我们会发现这个类拦截了HTTP响应,过滤出302的响应并返回一段JavaScript代码:

1: if (response.StatusCode == 302) 2: { 3: string redirectLocation = response.RedirectLocation; 4: response.Write(String.Format("window.location.href='{0}';", redirectLocation)); 5: } 注意: 如果你不会在代码中使用 Response.Redirect 方法,就不需要添加这个配置项。在这种情况下,你也可以使用ExtAspNet提供的PageContext.Redirect 方法,它的作用和 Response.Redirect 一样。PageContext是ExtAspNet提供的一个静态类,用来辅助输出一个常用的JavaScript代码,你可以查看源代码来获取更多信息。

3. httpHandlers节是为了在JavaScript中引用内置在ExtAspNet中的图标。

ExtAspNet中内置了很多小图标,完整的列表请查看。

在JavaScript中可以简单的这样引用:

var icon1 = "./res.axd?icon=PageWhiteCode";

太棒了

其实在引入这个配置之前,还有一种获取内置图标地址的方法:var icon1 = '<%= IconHelper.GetIconUrl("PageWhiteCode") %>';只不过后一种方法有两个缺点:1. 这段代码必须放置在ASPX代码中。 2. 生成的图标地址比较长

微笑

,类似于 /WebResource.axd?d=uDW5YUf2DLqBMvxRUQV3DtdjJW0RlswTCbxrvdhA0tGWb3upJGuodhzh1yEG__2ZgMXdSeA_pmqoD35VFyWVpubH5Zn_hj2CEKssW2m_HGku1Lz4_G1iEWjpv37FKL3P67p17A2&t=634405189453149561

注意:如果你不会在JavaScript中引用内置在ExtAspNet.dll中的图标,可以不添加这个配置项。

小结

一个简单的Web.config其实还是包含不少的知识,只要我们遇事冷静多思考,总会有收获的。

下一篇文章我们会关注PageManager控件,为什么每个页面都要添加一个PageManager控件呢?

喜欢ExtAspNet,来交流使用心得。

阅读(498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~