简介:
微软.NET框架组件的版本号是v2.2.1。ExtAspNet是一款专业的ASP.NET组件库,内置高效的Ajax实现以及多种炫酷的用户界面元素。其目标是构建完全依赖于客户端技术、不依赖后端增强型组件以及无需第三方服务的基础Web应用。可使用的网络浏览器包括:兼容性良好的IE 7及以上版本、适用于 Firefox 3及其以上版本的浏览器、支持 Chrome 浏览器 2及以上版本以及适用于 Safari 浏览器的网络浏览器。此工具基于以下开源组件:ExtJS、HtmlAgilityPack、Nii.JSON及YUICompressor。
开源: http://extasp.net
博客: http://sanshi.cnblogs.com
邮箱: sanshi.ustc@gmail.com
详细阐述了项目从构思到落地实施的全过程+2010-03-28 v2.2.1版本更新。为TabStrip功能的GetAddTabReference函数增加了重载方法,以允许指定特定Tab的图标(feedback:mmdcup)。修复了通过PageContext.RegisterStartupScript方式调用该函数时无法正确显示Icon的问题(feedback:zhaowenke)。解决了单机环境下页面示例在打开后无法弹出对话框的BUG。隐藏示例首页最外层RegionPanel边框属性设置为False。集成最新版本,提升功能性能至v3.1.1。新增了名为Access的新主题类型。修正了Firefox浏览器中Zoom InOut操作时页面显示不正常现象的问题(feedback:zhaowenke)。删除CSS样式表中的Panel EnableLightBackgroundColor属性,同时仅允许EnableBackgroundColor在Blue和Gray两种主题下使用+2010-01-31 v2.2.0
-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。
+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。
-增加示例tabstriptabstrip_addtab.aspx。
-重构了示例网站的架构,目前只有一层IFrame结构。
-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。
-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=false)(feedback:zqmars)。
-Window控件更新。
-关闭按钮默认直接关闭,不会弹出确认对话框。
-GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。
-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。
-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。
-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=Close,现在需要这样定义Icon=SystemClose。
-WindowPosition默认居中,而不是黄金分割位置。
+Button, Window等控件弹出位置属性的变化。
-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target=_self -> Target=Self, Target=_parent -> Target=Parent。
-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。
-Confirm.GetShowReference的最后一个参数target变为枚举类型。
-Alert.GetShowReference中的showInParent参数也变为Target枚举类型。
-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。
+2010-01-06 v2.1.9
-集成最新版本Extjs 3.1.0。
-修复了灰色皮肤CSS应用中中文字符显示的问题。
-修复了Grid列标题不支持中文的BUG(反馈:davidwen)。
-为Web.config和PageManager增加AjaxTimeout属性,单位秒,默认值30秒。
-修正了Grid pageIndexChange事件SelectedRowIndexArray获取失败的BUG(反馈:Violet)。
-Button控件不再自动设置float:left;样式,若希望两个按钮同行显示,请对第一个按钮设置CssStyle=float:left;属性。
-修复了Firefox下弹出菜单位置不正确的BUG(反馈:eroach)。
-为TriggerBox和TwinTriggerBox增加EnableEdit属性。
-改用Hidden隐藏ExtAspNet控件,而非Visible属性(后者当前仅读不可编辑)。
-调整Window控件显示隐藏功能,PopUp已标记为Obsolete属性。
-修改了ActiveWindow静态方法GetCloseReference等,其中的Close改为Hide操作。
-在TabStrip Tab控件增加EnableClose属性(默认关闭),并新增两个方法GetShowReference和GetHideReference(反馈:anson)。
-修正了Tree绑定XMLDocument中Icon映射错误(反馈:nopnop9)。
-修复了HtmlEditor编辑功能异常问题(反馈:TheBox)。
-修正了IE浏览器偶尔出现空白页面的bug(反馈:olivia919)。
+2009-12-06 v2.1.8版本
修复了当使用IFrame中的Window关闭后无法再次打开的问题(反馈:alexa99)。
修正了IE环境下Grid组件出现的一个JavaScript相关的问题(反馈:lqm4108)。
解决了Alert消息中引用号未进行编码导致的JavaScript错误(反馈:sun1299shine)。
引入了extjs 3.0.3版本的集成,提升了应用功能模块的扩展性。
修复了弹出对话框宽度计算异常的问题,并确保在关闭窗口后可保持最小化状态。
新增了Gray主题选项,为用户提供更多视觉风格选择。
在示例工程中加入切换语言与主题的下拉式选择项,在切换语言和皮肤时使用静态函数Refresh。
2009年12月1日发布的版本v2.1.7中新增了iframeparent_postback_run3.aspx这个示例,并使用简单的JavaScript代码实现了对父页面的反馈机制。同时也纠正了一些书写上的小问题。
去除了Region控件中的SplitColor属性,并增加了CollapseMode、EnableSplitTip、SplitTip和CollapsibleSplitTip等新属性,以优化控件的功能性。
BorderPanel被改名为RegionPanel,这一改动提升了界面管理的灵活性与可扩展性。
DropDownList类支持通过调用MarkInvalid方法来标记无效项,这为数据验证提供了便捷的方式。
新增了一个演示案例datashengshixian.aspx,展示了三级联动机制在省级、市级和县级层面的实际应用效果。这个功能是在v2.1.6版本中首次引入的,并且经过后续改进以解决使用IFrameUrl的Tab组件在切换页面时重复加载的问题。
当使用AutoPostBack功能时,Grid组件的单击事件会被链接按钮字段、超链接字段以及复选框字段所覆盖。这一问题最初出现在v2.1.6版本中,但经过修复后已能正常运行。
+2009-11-26 v2.1.6
修复了Grid列动态创建功能出现的问题(发布版本号为v2.1.6)。
增加了示例页面,以供参考使用。
修复了Forms窗口在不同设备尺寸下显示不正确的问题(反馈编号:gxpan,工单编号:6309)。
重新设计了模拟树的下拉列表实现,优化了点击后闪烁效果问题(反馈编号:TheBox)。
为容器控件增加了AJAX属性IFrameUrl支持(反馈编号:BluesT)。
+2009-11-21 v2.1.5版本更新:
对树结构进行优化工作,主要针对回发状态下各项状态保持问题进行了修复。
主要功能改进包括:
- 修正Expanded项和Checked项的状态在回发改变后无法保持的BUG问题。
- 更新命名规范:GetNodeById更名为FindNode,并与FindControl保持一致的命名方式。
- 增加辅助函数:删除ExpandedNodeIDArray属性,新增GetExpandedNodes及GetExpandedNodeIDs功能;删除CheckedNodeIDArray属性,新增GetCheckedNodes及GetCheckedNodeIDs功能。
其他技术调整:
- 更新事件管理器:为TreeCheckEventArgs、TreeExpandEventArgs、TreeCommandEventArgs增加Node属性。
- 优化用户交互体验:在所有控件上覆盖默认Focus功能,并增加GetFocusReference函数。
- 补充示例资源:新增tree_auto_leaf_identification.aspx(反馈:wdrabbit)和othercustom_postback.aspx(反馈:thebox)。
技术支持部分:
- 增强脚本与绑定组件的交互性:允许用户自定义JavaScript脚本和C#处理函数以响应键盘事件。
- 引入AutoLeafIdentification属性:用于实现树结构中的自动识别功能,并新增相关示例tree_auto_leaf_identification.aspx(反馈:wdrabbit)。
技术细节:
- 增加FindColumnById改为FindColumn的改写方式,确保命名规范一致性。
+2009-11-17 v2.1.4版本更新内容如下:
-修正Window控件关闭按钮提示信息一直以中文显示(反馈:thebox)。
-部分ExtAspNet控件在开发阶段支持其设计(后续将逐步完善)。
-v0.2beta2版本中对PersistChildren(true)的描述存在错误,该属性实际上是设计时定义的,与运行时状态保持无关。
-修正CheckBox控件的CheckedChanged事件被触发两次的问题(数据提交后会自动重传,启用后才会生效)。
-在TextBox、TextArea、DatePicker、NumberBox和TriggerBox等控件中增加AutoPostBack属性(反馈:dk3214)。
-为表单字段新增RequiredMessage、MaxLengthMessage和MinLengthMessage属性,用于指定验证失败时的提示信息。
-空值情况下将默认使用预设提示信息,默认支持多语言显示,建议一般情况应优先选择默认信息。
-增加MarkInvalid和GetMarkInvalidReference两个新函数用于表单字段无效性判断(反馈:sun1299shine)。
-新增示例:formform_validate.aspx
+2009-10-19 v2.1.3
支持在AJAX过程中修改的控件属性(仅限于ajax.aspx)。
ExtAspNet支持原生的AJAX,这些控制的属性更改会在AJAX进程中显示于页面上,然而并非所有控制均支持此功能。
本地加载s.gif图片以避免访问extjs.com的远程资源(反馈:efrigate43, abaocoole)。
确保在AJAX回发后Asp.net按钮控件仍保持AJAX特性。
更新basiclogin.aspx示例文件,采用验证图片方式(反馈:kedee)。
为Grid组件增加AutoPostBack属性和RowClick事件,并提供相应的示例文件(datagrid_autopostback.aspx, 反馈:chenguizhu2006)。
所有表单字段均新增AJAX属性ReadOnly(反馈:skydb)。
在Grid中,TemplateField生成的控件需具有唯一ID标识(例如Grid1_ct5_Label2, Grid1_ct6_Label2等)(反馈:geruger)。
+2009-09-27 v2.1.2版本更新内容:
- 新增两个新函数:GetExpandAllNodesReference 和 GetCollapseAllNodesReference。
- 在 RELEASE 版本中修复了一个影响多语言加载的 BUG(反馈:yigehaoren)。
- 增加了一种新语言类型 pt_BR,由 Ujvari 提供支持。
各个 Panel 类型(包括 Grid、Tree 和 Form 等)新增一个枚举类型 Icon。该枚举类型包含约1700个小型图标。在某些情况下,当某个 Panel 设置了IconUrl属性时,应优先选用该值;否则系统会默认使用预设的图标集合 icon.aspx 中的图标。
+2009-09-15 v2.1.1版本更新内容:
修复了无法对AccordionPane的Items进行动态编辑的问题。
在Button、MenuButton、LinkButton和LinkButtonField中添加ConfirmTarget属性。
在Window控件中打开新页面时,若输入参数错误将先显示错误提示并关闭该对话框。
为ExtAspNet.Alert.Show方法增加了点击确定的JavaScript回调函数。
TreeNode组件的多选框可自动生成点击反馈。在Grid控件上新增了GetNoSelectionAlertInParentReference方法,用于在无项选择状态下向父窗口展示提示信息。
解决了IE7环境下无法使用下划线开头的CSS类名的问题。
新增了定时器控制 Timer,用于定期执行 AJAX 请求。
+2009-09-06 v2.1.0
Button控件的Pressed属性值能准确地反映出客户端的状态变化。
对Tree控件进行AJAX功能的优化。
在页面中的Form控件中添加autocomplete属性设置为false,即禁用自动补全功能。
参考http:www.cnblogs.com sanshiarchive200909041560146.html#1635830
增加对extjs 3.0全系列语言的支持。
在jslanguagesextaspnet文件夹中,当前支持英语(en)、繁体中文(zh_CN)和简体中文(zh_TW)的语言版本。
允许用户在此基础上增加自定义的语言版本,并按照jslanguages目录结构进行打包操作,最终生成可执行文件。
+2009-09-01 v2.0.9版本更新:为ExtAspNet.Alert控件增加了两个静态方法,包括ShowInParent和GetShowInParentReference,后者用于在父页面上打开消息窗口。
此功能已影响所有aspx页面的显示效果。特别提醒各位开发者需密切关注设置相关控件的方式。
值得注意的是,在Asp.net AJAX框架中,已有现成的集合属性如TabStrip、Items(PanelBase)和Nodes(TreeNode),这些属性已被默认配置为可编辑类型。但要避免与现有功能冲突,请确保在应用时严格按照指定规则进行操作。
建议各位开发人员及时更新至最新版本以获取更多新增功能和优化体验,祝您工作顺利!
注:由于篇幅限制,具体实现细节请参考完整版资源文档。
+2009-08-29 v2.0.8
-该版本包含英语、繁体中文和简体中文语言支持,可通过Web.config进行设置。
-将所有示例内容转换为英文格式以增强一致性。
-其Bug在定义Mappings属性时被修复,无需额外操作即可实现正常功能。
+建议将PageManager.Instance实例存放在CurrentUserContext中,而非全局位置。
-此Bug已引起ASP.NET兼容性示例的失败,并已完成修复工作。
+取代现有方法AddAjaxAspnetControls,新增AjaxAspnetControls属性以替代其功能。
这一属性与Button上的ValidateForms属性具有相似作用,建议参考ASP.NET兼容性示例文件进行配置。
+2009-08-25 v2.0.7版本更新内容如下:
1. 添加DisableControlBeforePostBack属性于按钮控制台。该功能在发布前禁用按钮以避免重复提交,并将此默认设置为true。
2. 网格控件的Values属性访问权限已更改为public状态,从而允许任意修改网格中单元格的内容。
3. 新增功能:将Grid控件导出至Excel格式(datagrid_excel_run.aspx)并附带反馈信息(ID 503684912)。此功能可进一步扩展到其他类型的数据展示。
4. 当TreeNode相关属性设置为Enabled=false时,该控件会变为不可用状态并无法被选中(反馈编号:your568)。
5. 修复了TreeNode控件在NavigationUrl属性上对以~开头的服务器地址的支持问题。
6. 新增功能:提供一个使用Accordion与Tree组件协同工作的实例(otheraccordion_tree_run.aspx)。
7. 移除Default PageLayout控件,并建议采用BorderLayout布局模式以及通过指定AutoSizePanelID属性配置自动调整面板大小。此方法适用于所有需要全屏显示的Panel类型,包括Accordion、Panel、ContentPanel等。
+2009-08-14 v2.0.6版本更新:
基于AJAX技术实现的菜单动态生成功能,支持其他菜单类型(othermenu_dynamic_run.aspx和othermenu_dynamic2_run.aspx)的运行(反馈意见:shguo)。
通过性能优化改进了AJAX内部处理逻辑,在不影响原有功能的前提下,StateView数据存储量减少约13%(重要更新内容)。
改进数据结构中的树节点编号生成机制,降低了StateView占用的空间需求。该优化是提升系统性能的必要步骤。
+2009-08-09 v2.0 beta5
AJAX提交按钮与ExtAspNet及Asp.net的兼容性问题(feedback:千帆)。
在2009-03-03 v1.3.0中,我们曾提到此兼容性问题,并规定如下:如果一个Asp.net按钮采用AJAX提交方式,则必须将UseSubmitBehavior属性设为false。相应地,需要将UseSubmitBehavior属性设为false。
值得注意的是,在某些情况下这一限制是无法容忍的。经过优化后,现在只需确保在AJAX提交时设置正确的PageManager属性即可(默认状态下该属性已启用)。
新增了对Asp.net控件的支持:通过重命名实例方法AddAjaxUpdateControl为AddAjaxAspnetControls,并允许在Page_Load事件中指定需要AJAX更新的Asp.net控件。这些选定的控件会在回发时保持其状态,用户可调用RemoveAjaxAspnetControls移除无需更新的控件。
示例应用包括:
- 在aspnetfckeditor_run.aspx和aspnetaspnet_run.aspx中修复了FCKEditor与上传控件兼容的问题。
- 更新所有反馈示例(Button类中的Pressed属性支持AJAX提交)。
在测试验证方面,本功能已在IE7.0、IE8.0、Firefox3.5及Chrome2.0等版本下通过。
+2009-08-02 v2.0 beta4
支持与Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。
支持和Asp.Net Ajax类似的处理方式,需在配置文件Web.config中添加httpModules。
允许使用Response.Redirect重定向页面,并提供两种选择:Response.Redirect或ExtAspNet.PageContext.Redirect,效果相同。
支持_formsauthentication.RedirectFromLoginPage(accountID, false)方法[feedback:mgzhenhong]。
增加Button类型属性(button、reset、submit)[feedback:xmq&mgzhenhong]。
修正Alert.Show方法无法指定文本前图片的BUG[feedback:xmq&mgzhenhong]。
修正IE浏览器下某些弹出窗口的IFrame初次加载失败的问题。
支持Menu和Accordion组件的示例展示,增加相关功能。
修复Window控件IconUrl属性在某些情况下未显示(目标为_parent)的问题[feedback:xmq&mgzhenhong]。
发布日期:2009年7月22日,版本号为v2.0 beta3;支持使用FCKEditor进行编辑。在IE8.0、Firefox3.5环境下经过严格测试通过;以后将不再对IE6.0提供官方支持。自2009年7月13日起发布v2.0 beta2版。集成最新版本的ExtJS v3.0。兼容性:支持IE 6、7及8浏览器。在测试过程中发现,使用IE 6、7浏览器时调用Ext.QuickTips.init()会导致按钮点击事件失效(该现象在IE 8中未出现)。为确保稳定性,已暂时关闭IE 6、7浏览器版本的QuickTips功能。对基础JavaScript代码进行了优化。
+2009-07-05 v2.0 beta1版本更新extjs库至最新开发版v3.0 RC2。
当前仅支持一个默认的皮肤配置选项:主题设置。
通过YUI Compressor对所有JavaScript及CSS代码进行优化与压缩。
对于每一个网页实例,默认仅会加载一份JavaScript脚本文件(除语言相关的资源外)以及一份CSS样式表文件。
将ExtAspNet框架本身的CSS风格表直接放置在HTML标题标签之后,这样可以确保自定义样式表能够覆盖掉默认的ExtSock框架样式。
采用变通的方法使得Alert提示框能够覆盖住所有当前打开的浏览器窗口。
由于无法更改Ext.Message组件默认的z值(设置为9000),因此我们决定将父容器元素的group z值设定为6000。这种做法可以有效地解决部分显示异常的问题。
在修复SimulateTree组件的下拉列表功能时,发现当某个节点含有图片描述信息时会引发显示异常。经过排查后发现此现象与HTML标签的顺序无关。
.ux 系列工具栏组件已得到全面升级。
所有修改都已体现在示例工程中,请下载最新的版本以享受最新功能。
+2009-03-25 v1.3.1
当Tree在AJAX返回展开节点时触发JavaScript错误[反馈:xlli]。[修复完成]
如果Window对象的EnableIFrame属性设置为false,并且用户点击关闭按钮,将触发JavaScript错误。[修复完成]
当页面包含FileUpload控件时,用户若需通过点击按钮发起回发操作以上传文件,则建议避免使用原生AJAX方法(可参考示例aspnetfileupload.aspx)。[修复完成]
在HTML Editor中尝试点击隐藏工具栏按钮时,发现该按钮无法正常显示;此外,当前版本的HTML Editor尚未实现对Enabled和Readonly属性的支持。[修复完成]
+2009-03-03 v1.3.0
若跳出窗体内包含 ASP.NET 控件 FileUpload,则该跳出窗体于关闭时会触发 JS 错误(参见论坛贴 t=8129)[反馈:xlli]。[已修复]
若有页面中存在 ASP.NET 控制器 Textbox,那么在第二次提交表格便会报错(因视图状态未更新 EventValidation 隐藏字段导致)。[已修复]
当在页面中同时部署 ExtAspNet-Button 和 ASP.NET-Button 时,点击前者会触发后者的行为。此行为与 Extjs2.2.1 中的 Ext.Ajax.serializeForm 实现存在关联。[已修复]
ExtAspNet 包含两个开源第三方库 HtmlAgilityPack 和 Nii.JSON。
若曾被告知在 ExtAspNet 工程中不宜使用 ASP.NET 标准控件,那么自 v1.3.0 版本起此忠告不再适用,现在 ExtAspNet 控制器与 ASP.NET 标准控件可共存使用。[已修复]
若需将 ASP.NET 按钮控制器转为采用 Ext.Net 的原生 AJAX(无需提交表单),只需设置属性 UseSubmitBehavior=false 即可。
在一次执行 Ext.Net 原生 AJAX 回发操作时更新 ASP.NET 控制器的值,可通过调用 PageManager 的公共方法 AddAjaxUpdateControl 来实现。例如:aspnetaspnet.aspx
+2009-02-27 v1.2 beta9
-在网络连接出现问题时,“Ajax Error”提示信息被替换为更友好的“本次连接失败!可能当前的网络连接存在问题,请尝试刷新页面后重新启动。”[完成]
-自动测试功能将在后续版本中逐步优化。本次版本实现了测试框架的基础工作,主要基于Extjs进行功能开发,并利用jQuery对难以处理的部分进行了辅助实现。
系统底层代码优化(主要是JavaScript的封装和错误修复)[已完成]。
在本次版本中,JavaScript代码长度从2000字符缩减至500字。具体改进包括:
-采用更简洁的方式实现了Window控件功能;
-对部分难以处理的功能点进行了辅助实现。
PageContext静态类中的GetPageStateChangedFunction被命名为GetConfirmFormModifiedReference(现名)。该函数主要用于获取当前页面表单修改确认提示框的脚本。
【更新说明
注意事项
新增功能
改进说明
+2009-02-23 v1.2 beta8
-ContentPanel中的内容无法自动扩展高度的“问题”[feedback:huihuang]。[fixed]
-DropDownList在数据回发时无法显示模拟树数据的问题[feedback:huihuang]。[fixed]
-当页面首次加载时没有不可选项,则在后续请求中也不会出现这种情况的BUG。[fixed]
-升级至v2.2.1版本,该版本主要针对Chrome浏览器及内存泄漏问题进行了修复。[fixed]
-时间信息以 window.box.timeInfo 的形式保存。
+增加了部分自动化测试功能(采用WatiN和NUnit),后续版本将全面支持自动测试。[fixed]
+2008-10-28 v1.2 beta7
未选择 DropsDownList 任何一项 现在会 报错[feedback:huihuang]。[fixed]
Window 显示位置不正确 并且无法拖拽 已经存在一个BUG[feedback:huihuang]。[fixed]
PageContext 已经进行了优化[fixed].
去除 RegisterExclusiveScript 静态函数 这是一个在没有原生ajax之前的产品 使用 RegisterStartupScript 替代。
在 RegisterStartupScript 中去除重载函数 只保留最简单的 PageContext.RegisterWebHost(string script) 函数。
Redirect 增加重载函数 Redirect(string url string target),其中target的取值为_self _parent _top 分别表示在当前窗口 父窗口 顶级窗口进行重定向[feedback:jqpeng]。
Image控件增加了ImageWidth ImageHeight ImageCssStyle ImageCssClass和ImageAlt属性[feedback:jqpeng]。[fixed]
发布包中添加了一个Web.config.txt文件 这是一个空的Web.config文件 包含BOX基本配置信息[fixed].
ContentPanel的ShowHeader和ShowBorder属性默认设置为true 但是需要注意的是这些设置是针对更新前的应用[fixed].
在Row和Column布局中 对IE浏览器中的RowHeight=100%设置已经做出了改进 并且不会再出现显示不正确的问题了[fixed].
AccordionLink在鼠标移上和移开时会改变背景色 并且这种效果会一直保留下去[feedback:huihuang]。[fixed]
TabStrip的Tab控件中的EnablePostBack属性现在会被保持 如果EnablePostBack=true并且回发时不发生改变 那么每次切换到该Tab时系统都会自动发送一次回发指令[feedback:huihuang]。
值得注意的是 在默认情况下如果Tab1显示 并且其对应的EnablePostBack属性设置为true 则在页面加载完成后系统会自动发送一次回发指令 显示Tab1内容[fixed].
+2008-10-20 v1.2 beta6
为包含控件的网站需创建虚拟目录;否则将报JS错误(脚本资源未加载),实际上是因为HTTPCompress组件的问题。[已修复]
-需要替换新的blowery.Web.HttpCompress.dll,详情请参阅http:pohee.comithttp-compression-in-aspnet-20。
+DropDownList优化。[已修复]
-建议不要移除EnableFirstItemFirstItemText和FirstItemValue字段,因为这可能带来不必要的困惑。
+在后台使用DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(全部, -1));即可实现类似效果。
+若某项(ListItem)的值为空字符串,则无法通过SelectedIndex和SelectedValue选择该项[反馈:jqpeng]。
-与Asp.net保持一致,ListItem的值允许为空字符串。即可以执行DropDownList1oooaltedSelect = ;操作。
+在ListItemCollection中增加自定义添加函数Add(string text, string value),以方便后台添加列表项。
-布局不为Container类型时,AutoHeight属性将被设置为false(避免因错误导致的问题)。[已修复]
-控件的总高包含了BodyPadding(此与CSS中的高度处理方式不同)[已修复]。
+在VS中所有控件属性均提供智能提示功能。[已修复]
-建议将ExtAspNet.XML和ExtAspNet.dll文件放置在一起;这有助于在引用DLL时自动拷贝XML文件到bin目录,并为VS提供智能提示。
+若控件属性支持枚举类型且无取值,则默认设置为None。[已修复]
-TriggerIconType.Default -> TriggerIconType.None
-SystemIconType.Empty -> SystemIconType.None
-RegexPattern.USER_DEFINED -> RegexPattern.None
-表单验证属性名称变更(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[已修复]
+一个属性可支持多个值情况。[已修复]
-若属性与CSS相关,则以空格分隔(如ColumnWidths,BodyPadding);其他属性则以逗号分隔(如ValidateForms,DataKeyNames,DataNavigateUrlFields)。
+AccordionLink控件已实现,可通过子页面中的iframe切换父页面选中菜单项(如Accord->AccordionLink),示例见otheraccordion_links_run.aspx和otheraccordion_links_run_iframe_htm。[反馈:jima]
+支持方便添加控件,并在服务器端绑定事件(例如,请参阅formform_dynamic_run.aspx)。[已修复]
+2008-10-15 v1.2 beta5
在对表单字段进行校验时,如果指定的是ValueToCompare属性,则当该属性为字符串类型时会导致错误。此问题已得到解决。
通过优化功能,使得下拉列表操作更加便捷。
在对下拉列表中的各项进行校验时,建议根据Item.Value属性来进行判断,而非Item.Text。
对于DropDownList控件而言,新增了Items.Insert方法,该方法允许在列表中轻松添加‘全部展开’的选项。
此控件无法配置EmptyText属性,因此无法设置空文本状态。
为ItemListbox提供了可配置的选项:EnableSelect与SimulateTreeLevel属性。通过这些属性,可以在前端(如ASPX)轻松指定哪些项目不可选,并构建出模拟式的行为。
通过新增EnableSimulateTree属性,默认值设为False,若在Items.DataSimulateTreeLevelField属性中进行了配置,则此属性会被自动启用。
+2008-09-27 v1.2 beta4
EnableLargeHeader属性与整体容器效果一致。对比测试显示,在otheraccordion_run.aspx中,Accordion的标题大小未影响AccordionPanel功能。
调整策略:移除Accordion中的HighlightAttribute,并新增HighlightAttribute至AccordionPanel组件。此改动需在现有环境中进行测试。
修复方案:针对部分用户反馈的问题(如白色水平线消失),优化代码逻辑以提升用户体验。
新增功能模块:在AccordionPanel中引入Links属性,可绑定列表数据并生成链接列表(如otheraccordion_links_run.aspx所示)。
技术细节:原有放置于AccordionPanel内的组件需在外层增加标签。同时建议增加AccordionPanel内链接条高度至20px,并对样式进行微调以提升美观度。
优化方案:通过调整BodyPadding值,可规范化链接列表的边缘间距,从而减少代码冗余并简化维护流程。此功能由马季需求提出后已获实现,显著提升了开发效率。
+2008-09-25 v1.2 beta3
代码性能优化及设计时支持(目前仍在完善中)[fixed]:在ASPX页切换至“设计时”界面,便于属性值的更改和事件处理函数的添加。[fixed]
TabStrip组件:
-去除Plain属性,新增EnableTitleBackgroundColor属性,默认设置为true。
-因异常情况导致在Form对象中无法正确添加控件
现在formform_dynamic_run.aspx示例已成功运行
大部分容器的子控件集合更正为Items(此前可能存在Rows参数)
受影响的控件包括Toolbar、AccordionPanelGroup、PanelContentTreeHiddenFieldPageLoading等,其中TabStrip组件保留其TabCollection属性。
同时保留Form对象的Rows(FormRowCollection)属性和Grid对象的Rows属性(GridRowCollection)
保持TabStrip组件的Tabs(TabCollection)属性不变
继续保留PageLayoutBorderLayout区域(Regions(RegionCollection))
预祝今晚神七发射成功
版本号:+2008-09-22 v1.2 Beta 2
当选中项(SelectedRowIndexArray)在AJAX重送过程中出现问题时,用户将无法正确地删除或添加项目。具体表现为:当进行多个增删操作后,当选中项(SelectedRowIndexArray)中出现不存在的行号时,服务器端遍历选中项列表会导致越界错误。此问题影响所有采用box控件的应用程序,请及时更新至最新版本。
在代码优化和设计过程中,所有涉及表单控件的应用程序均已得到改进。
-PageManagerSimpleFormButtonHyperLinkLabelImageLinkButtonTextBox
-TriggerBoxTwinTriggerBoxWindowTextAreaHtmlEditorDatePickerNumberBox
-CheckBoxRadioButtonRadioButtonListDropDownList
-Grid
+2008-09-19 v1.2 beta1
(ImageLinkButtonHyperLink)增加了支持Ajax更新功能的属性。[fixed]
(隐藏的方式)由(HideMode)控制(VisibilityOffsetsDisplay)。
FormSimpleForm隐藏字段(Hidden=false)导致其仍占用页面空间的问题已修正。(feedback:jbzhang)。[fixed]
在ASPX环境中,设置(ToolBarTextToolbarFillToolbarSeparator)(Hidden=true)无法解决问题的情况已解决。(feedback:jbzhang)。[fixed]
(BUTTON)去除(MarginRight)属性,通过(CSS样式 margin-right:5px;)实现相同效果。
+2008-09-09版本v1.1
移除IsPageMenu属性,在网页布局中可以使用自定义样式实现而非直接写入控件代码,避免将默认布局设置在控件上。[已修复]
为网报设置CSS类名toolbar-pagemenu并绑定样式:border: 0px;同时为该类样式添加背景颜色和图片重复效果。
移除非默认布局设置以允许Region采用其他如FitAnchorColumnRow等布局方式,需手动指定相关参数进行调整。[已修复]
修复ToolbarSeparatorToolbarFill在处理Ajax隐藏属性时的错误行为。
对整体布局框架进行了优化整理。
新增三种新的布局类型:Column、Absolute和Row,结合原有的Container-Fit、Accordion、BorderForm等多种布局模式,总共提供9种组合方式可供选择。
部分控件预设了特定的布局方式:
SimpleForm(或Form)、
Accordions(或Accordion)、
Tab条(或TabStrip)、
BorderLayout(或BorderLayout)等都默认采用Container框架进行排版。
建议多使用以下几种常用布局:FitRow、Anchor和Accordion。常用的布局类型包括Fit、Row、Anchor和Accordion等多种组合方式。
+2008-09-08 v1.1 beta7
在所有相关的对象(如MenuButton、MenuHyperLink、MenuSeparator、MenuText)中增加Hidden属性,此属性允许在Ajax状态下更新隐藏的控件。[feedback:huayu]。[fixed]
注意Visible和Hidden的区别:将一个属性设置为false会使该元素不可见且不会显示在客户端;而将其设置为true会使其可见但被隐式隐藏。
美国版本(US)对ExtAspNet控件的改造高度依赖于此属性,目前这个Beta版本仍可正常运行。
在改进过程中发现网报系统中之前未使用到的ExtAspNetAjax功能可以实现显示隐藏表单字段的功能。[fixed]
发布版本号为v1.1 beta6的时间是2008年9月4日。
该版本增加了对常规页面转移以及基于ExtAspNetAjax的网页转移的支持,问题已修复。
模拟树下拉菜单存在一个问题,即某些可选项目在被展开时会被错误地排除。此问题影响了多个控件(如Grid、DropDownList和TabStrip)的功能。
解决方法:testValue += ;if(domValue.split(,).indexOf(testValue) >= 0){ok}。
在处理Ajax请求时,建议首先更新数据源后再设定默认选中状态。
Bug修复工作已完成。此问题导致ButtonMenuButton的OnClientClick属性无法正常更新功能。
目前对Ajax的支持功能仍处于初步阶段,需要进一步完善。
+2008-09-02 v1.1 beta5
在使用DropDownList时,若首次未绑定值,则应将其绑定为二维数组([]),而非一维数组([])。[fixed]
模拟树的DropDownList功能,在完成DataSource重新绑定后,确保各项可选状态保持最新状态:即使页面初次加载时无数据亦需设置DataTextField、DataValueField、DataSimulateTreeLevel、FieldDataEnableSelect属性值,以避免后续AJAX请求出现错误。[fixed]
由于UserControlConnector控件已退出使用(以后不再涉及ASP.NET AJAX),建议移除UpdatePanelConnector控件。(该控件已完成使命)。[fixed]
为提升兼容性,推荐采用ExtAspNet HiddenField组件替代Asp.net HiddenField属性,因为后者在AJAX场景中无法更新显示状态而导致视图一致性问题。[fixed]
网报Ajax功能基本实现完毕(但待审批->下一步操作仍需进行审核归档出纳处理),目前因需要显示隐藏表单字段而采用普通PostBack方式。(该操作尚不具备AJAX支持)[fixed]
在IE浏览器中,若RadiobuttonList项包含汉字,则会在列表中换行。此现象已导致BUG出现。[fixed]
按照需求计划,在现有基础上增加新的Theme风格(SlateBlack),但相关样式仍需进一步完善和优化。[fixed]
+v1.1 beta4版本更新内容如下:
如果当前Tab中的ContentPanel存在,在页面顶端会显示空白区域(建议关闭此属性以解决)。
RadioboxList组件移除背景颜色设置(使背景透明),使其与父控件一致。
TwinTriggerBox的第一个Trigger图标直接隐藏(若用户已启用ShowTrigger1则正常显示)。
在Web.config中新增FormLabelWidth属性,默认值为80。PageManager控件增加此属性以控制所有SimpleFormForm表单字段标题的宽度,建议设置为320。
Ajax功能已全面优化并上线测试。
RadioboxList组件新增SelectedIndex属性(SelectedValue、SelectedItem)供AJAX更新使用。
DropDownList组件新增EnableSelectedIndex属性(SelectedValue、SelectedItem),该属性用于控制选中状态及数据源切换。
Grid控件新增Columns属性,支持动态显示隐藏的列,并确保AJAX刷新功能正常运行。
ToolbarText组件增加Ajax可更新属性Text,用于实时显示内容。
+2008-08-31 v1.1 beta3
在TabStrip中新增了为各Tab设置是否启用延迟加载的选项,默认情况下已开启。[fixed]
重定向功能采用系统方法PageContext.Redirect(string url)实现,避免了Response.Redirect的误用。[fixed]
该组件采用了安全的Ajax设计方式,在性能和稳定性上均有显著提升。
基本思想:在当前版本中,我们对Ajax交互的设计理念与前一版本有明显转变,同时在功能响应速度方面得到了显著优化。这种设计理念适用于90%以上的应用需求,并且具有极快的响应速度。对于需要进行UI大规模改版的应用,则可以采用常规的回载方式。组件提供一个名为EnableAjax的属性,用于控制该属性下的控件是否支持Ajax交互。
为所有受支持的控件属性变化提供了全面的安全性认证和快速响应机制,并对所有不适用的属性变化进行了功能隔离处理。这种设计确保了在正常操作下不会出现JavaScript错误或UI异常现象。
现已实现了基于列表的数据展示功能,未来将逐步扩展至其他类型的数据呈现方式。(v0.8.1) [fixed]
+2008-08-29 v1.1 beta1
+Window控件是否弹出的状态在回发时维持。[fixed]
-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。
+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]
-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。
-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。
+在这种设计下,其实可以完全抛弃Javascript。
-比如简单的点击一个按钮弹出窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。
-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。
-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。
+目前ExtAspNetAjax的限制。
-只对ExtAspNet控件起作用,对Asp.net控件不起作用。
-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。
-对改变控件的Visible属性会有错误。
-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。
-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]
-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]
-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]
已知问题:IE的ActiveX插件IE Developer Toolbar导致IFrame加载出现0.5秒左右的时间延后。
主要原因在于父页面在加载一个约10万字节的CSS文件时,每次打开IFrame页面都会触发onload事件,造成约500毫isecond的时间延迟。针对性能测试,建议禁用此插件。
优化措施:
- 现有弹出窗口显示IFrame需20毫秒,在父页面弹出窗口则需要100至300毫isecond。可通过缓存方式减少重复创建时间。
- PageLayout的Region属性新增SplitColor字段,默认背景透明,建议设置为#CADDF7以使分隔符与Toolbar颜色一致。
其他优化:
PageManager增加包括Theme、Language等属性,可在Web.config中配置,也可为每个页面独立设定。
典型应用:按用户Cookie值自定义皮肤(如default.aspx)。
TreeNode新增SingleClickExpand属性。
TabStrip非当前Tab渲染延迟问题会导致页面渲染速度提升约200毫秒。解决方案是将相关脚本移动至控件的render事件中,避免非当前Tab节点在加载后不可见。
BUG修复:
- 无法比较两个DataPicker对象大小的问题已解决。
- TabStrip因加载延迟导致的BUG(如非当前Tab中的ContentPanel占用页面空间)已修正。
- 新增ExtAspNet.Examples数据绑定容器布局框架实例。+2008-08-19 v0.4 beta6
+PageManager增加两个属性(EnableInlineStyleJavascriptApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframedefault.aspx和iframepage3.aspx)。[fixed]
-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。
-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]
+extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6IE7)(http:www.extjs.netforumshowthread.php?t=43246)(示例在test.aspx)[fixed]
-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;
+需要先回发页面再弹出IFrame窗口。[fixed]
-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。
-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(.simpleform.aspx));。
+2008-08-15 v0.4 beta5
在IE 6浏览器中点击关闭窗口按钮时会出现JavaScript错误。[fixed]
增加了BorderLayout控件,并附有iframeborderlayout.aspx的示例(已修复)。[fixed]
RadiobuttonList组件会显示带有阴影效果,如radio.aspx所示。[fixed]
采用了全新的样式设计。
移除了Horizontal属性,并增加了ColumnNumber参数,可指定渲染的列数。[fixed]
GetValueReference方法返回错误值的BUG已修复。[fixed]
增加了动态添加FormRow的功能,并可在每个FormRow中增加表单字段,同时修复了无法获取表单字段值的问题。[fixed](示例在form_dynamic.aspx)
在IE中,当iframe弹出窗口关闭并重新加载时,有时会导致额外的iframe载入。
脚本修改后的IFrameUrl在重新加载时会保留状态,导致父页面中意外地增加了新的iframe元素。[fixed]
iframe弹出窗口的状态、标题以及URL修改等客户端变化不会再影响服务器端的行为。[fixed](示例在button_iframe.aspx)
+2008-08-13 v0.4 beta4版本:
移除关闭窗口按钮时,请注意IE环境可能导致JavaScript错误出现。
[fixed]:在IE下会有JS错误。
+修复了窗体右上角的关闭图标事件响应问题,已增加提示信息。
[fixed]
+完成了Window代码的重构工作。[fixed]
修正内存泄漏问题。[fixed]
测试发现,在IE7环境下进行测试发现,访问iframedefault.aspx会导致iexplorer占用约68.368MB的内存。
在IE7环境下进行测试发现,访问iframedefault.aspx会导致iexplorer占用约68.368MB的内存。[fixed]
修正后,在IE7环境下进行测试发现,访问iframedefault.aspx会导致iexplorer占用约118.792MB的内存。
在IE7环境下进行测试发现,访问iframedefault.aspx会导致iexplorer占用约68.368MB的内存。[fixed]
修正后,在IE7环境下进行测试发现,访问iframedefault.aspx会导致iexplorer占用约76.492MB的内存。
在IE窗口最小化时,系统会自动执行一些资源回收操作以释放内部占用空间。[fixed]
+2008-08-12 v0.4 beta3
-JavaScript框架Extjs升版至v2.2,Grid渲染效率明显提升。(经测试)
-若不指定Grid的高度或借助布局间接设定则行会不可见,可使用AutoHeight属性加以解决。
+页面加载提示应尽早呈现。(已优化)
-为确保效果,在启动JavaScript之前需延迟5毫秒,使浏览器及时展示当前内容。
-建议将JavaScript脚本的script标签放置于页面底部以避免影响PageLoading状态。
+2008-08-08 v0.4 beta2
TabStrip组件存在加载延迟问题。[已修复]
在处理Window控件中的IFrameUrl时发现了错误,具体表现为:Pages_ExtAspNet目录下的页面应指定为.FE_ApplyEditor.aspx或~Pages_ExtAspNetFE_ApplyEditor.aspx。[已修正]
当Window的WindowPosition设置为Center且Target属性指向_parent时,会导致JavaScript异常。[已解决]
开发团队已针对网站导航界面进行了全面优化,实现了网报首页及左侧侧边栏菜单的动态切换功能。[已完成]
Window组件的创建操作在页面内容显示后执行,并不在JavaScript渲染时间内计入时间计算。[实现中]
为提升用户体验,费用申请页面进行结构优化工作,尽量降低嵌套层次对性能的影响。[实施中]
默认情况下,button_iframe.aspx会加载form.aspx页面(这是Windows控件的一个已知问题)。[修复完成]
在Window组件内部保存和关闭操作按钮时,可能会与Asp.netAjax服务发生冲突。[已解决]
为减少JavaScript脚本写入页面的大小,优化了相关关闭操作的JS代码逻辑。[完成中]
建议采用PageContext.RegisterExclusiveScript()方法来加快保存并关闭按钮触发的窗口关闭动作,并在示例项目(simpleform.aspx)中进行了具体实现。[已实施]
+2008-08-05 v0.4 beta1
-DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed]
-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]
-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]
-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed]
+弹出窗口中,点击按钮回发然后点击关闭按钮,出现js错误 [feedback:xmzhu]。[fixed]
-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。
-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。
-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspxsimpleform.aspx)。
+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]
-这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。
-每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]
-TextField等表单字段增加Readonly属性。[fixed]
+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]
-最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)
+示例1,通过点击按钮弹出IFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspxpage2.aspxsimpleform.aspx)
-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=_parent),就完成了两种框架的转换,是不是很酷。
-显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)page2.aspx(B)simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。
-示例2,Grid中弹出窗口。(default.aspxpage3.aspxsimpleform.aspx)
+示例3,TriggerBox弹出窗口。(default.aspxtriggerbox.aspxsimpleform.aspx)
-在整个页面弹出窗口或者在当前页面弹出窗口,仅仅设置Window的Target属性即可。
-示例4,弹出窗口中的弹出窗口。
-对整个Examples更新测试。[fixed]
+2008-07-31 v0.3 beta12
• 当使用Ajax重传时,TabStrip的元素不带x-hide display属性(导致显示为空),此问题已修复。
• 在TabStripPanelWindow中对IFrame进行重新设计:若设置为#或about:blank,则不会渲染iframe到页面节点;同时在第二次打开窗体中的IFrame也不会出现残留影子。此功能已实现。
• 当Tab不是当前活动的且设置了IFrameUrl时,点击该Tab将延迟加载(例如见tabstrip_iframe.aspx)。此问题已解决。
• 在Tree控件中,单击节点后自动重传,则在当前节点保持选中状态的能力已被修复。[反馈人:zgjiang2]
• 关于关闭窗口时提示保存修改的调用方式(包括iframe中的关闭按钮和窗体右上角的关闭图标)的规范方法已明确(例如见grid_iframe.aspxsimpleform.aspx)。此问题已解决。
-内部实现中,通过在简单form.aspx中使用PageContext.RegisterStartupScript重载函数,可提前执行关闭窗口脚本,相比之前先创建整个页面UI再关闭的方式更高效。
• 遵循Yslow评分标准,在JS文件引用上进行了优化:将引用从head移动到body。此功能已实现。
• 在Firefox浏览器中,由于页面过长会产生滚动条(原ViewPort样式中有body{overflow:hidden;})。此问题已解决。
• 在iframe内部,自动调整页面宽度和高度(不再为1px2px的白色边框所困),此功能已实现。例如见iframe_autosize.aspxsimpleform.aspxsimpleform2.aspx
-在增加PageManager控件时,请确保指定AutoSizePanelID,并设置HideScrollbar属性以隐藏滚动条(适用于IE和Firefox浏览器)。
+2008-07-24 v0.3 beta11
在web.config配置文件中对message target进行重命名为form message target,并增加form offset right配置项,以定义全局表单字段距离右边缘的宽度。同时,每个表单字段均新增offset right属性 [feedback:jima]。[fixed]
window在回发时设置的title不起作用的bug。[fixed]
增加image控件 [feedback:jima]。[fixed]
tree控件,若一个节点不是叶子节点且无子节点,则应将它的expanded设为false,否则会导致页面死循环回发 [feedback:zgjiang2]。
image增加tooltip title和tooltip auto hide两个属性,当提示信息特别长时,可让用户体验读完后手动关闭提示信息(如在hyperlink.aspx中) [fixed]
去掉drop down list控件的text属性(强制性),可通过设置selected value来指定选中的选项 [feedback:xmzhu]。
过滤提示消息中的换行符(转换为
),以避免提示信息导致页面渲染错误 [feedback:dcding]。[fixed]
+2008-07-23 v0.3 beta10
- 优化Tree控件。[fixed]
- 解释如何实现数据库数据的Tree绑定(参考tree2_bind_database.aspx)。
- 在UpdatePanel中实施AJAX加载树节点,以展现AJAX效果(示例见tree2_ajax.aspx)。
- 修改TreeNode表中的ID字段为NodeId,避免Node体表中出现相同ID的情况,这是必要的要求。[fixed]
- 更新Grid控件的ColumnId字段名称,确保前后代码兼容性。[fixed]
- 在Grid控件的所有列体表中新增DataTooltipField和DataTooltipFormatString两个属性,以显示数据提示(参考grid.aspx)。[fixed]
+2008-07-22版本v0.3 beta9
在IE6环境下,左侧导航链接的选中样式存在偏差,并且当鼠标移至或离开时也会出现样式不一致的问题。[已修复]
注意到IE6无法正确解析元素高度,必须手动设置为height: 20px才能正常显示(style=height: 20px;)。
在IE6和IE7环境下,模拟树的下拉列表文字过长会导致换行显示,从而影响整体布局。[已修复]
尽管未能解决##
在IE和Firefox中的显示差异,但通过将

替代
的方法,实现了FF和IE下的统一样式效果。
刚注意到old9的解决方案:将差旅交通费改为带调整间距的差旅交通费,这样在IE和FF中都不会换行显示。:-)
LinkButton增加OnClick事件 [反馈信息]。[已修复]
Window设置IFrameUrl和Popup不起作用的问题得到解决。[反馈信息]。[已修复]
增加了Tree控件(简称为Tree),例如如tree2.aspx所示的实例。
在树状态下可执行的操作包括:选中行、折叠展开以及使用CheckBox进行选择。
可以通过Inline方式插入树节点,也可以绑定到XmlDocumentXmlDataSource或SiteMap等数据源。
点击树节点不仅可以打开页面内容,还可以触发PostBack事件,并支持自定义脚本实现特定功能。
+2008-07-16 v0.3 beta8版本发布
如果在ContentPanel中放置一个ExtAspNet控件,在渲染过程中可能会遇到一系列问题(如下拉列表显示样式错位、Grid组件失去滚动条等)。[已修复]
这一隐藏性非常强的问题:当在ContentPanel中渲染ExtAspNet控件时,若容器的display属性设置为none,则会引发多种异常(主要是尺寸不匹配的问题)。
必须将容器设置为Visibility: 隐藏状态,并待渲染完成后显式显示该容器。
当前Grid组件的表现取决于其设定的有效宽度和高度:如果超出Grid容器的区域就会自动添加滚动条。
在IE6环境下,应用Asp.NetAjax后发现,在表单字段的宽度渲染上存在偏差。[已修复]
在分析过程中遇到困难:如果你有过通过alert函数调试的经验,你将很快意识到问题所在。
最终我们成功地修复了IE6下的一个严重bug:
首先,在MasterPage.onReady事件中修正内容区域的宽度($region3.setWidth($pageLayout1.getSize().width - $region2.getSize().width - 5);然后在该区域内部进行布局操作($region3.doLayout());
其次,调整所有表单的宽度设定(调用box_fixFormWidthInIE6()函数),此函数位于Site_MASTER页面中。
这个集成式的AspNetAjax解决方案存在一个非常规的方法:经过长时间的调试与尝试后,我们发现可以通过如下方式解决问题(在任意一个内容区域中执行):
$box.{0}.setSize($box.{0}.getSize());
$box.{0}.doLayout();
这种方法让我想起了刷新浏览器窗口时所使用的类似技巧(即通过window.location.href=window.location.href;语句触发滚动)。尽管这与我预期中的解决方法并不完全一致,但最终我们还是非常满意地解决了这一重大bug。
+2008-07-14版本号提升至v0.3 beta6版本。
[移除FlashObject控件并设置其属性为不可编辑状态][fixed]
增加Accordion组件的选中样式调整功能。[fixed]
在Grid表单预加载操作中添加背景图片配置选项,以优化错误信息提示效果。[fixed]
对Grid组件性能进行优化:通过启用DelayRender属性提升渲染速度(例如,针对包含20个记录的页面可提前约0.7秒至1秒加快显示时间)。[fixed]
为Grid组件设置静态元素的图片位置并支持大小调整功能。[fixed]
在TabStrip组件中增加TabIndexed事件响应,并通过EnablePostBack属性实现点击切换Tab时触发回发操作,适用于延迟加载内容场景(例如,在tabstrip.aspx文件中可实现这一功能)。
+2008-07-12 v0.3 beta5
Toolbar中的菜单分隔符与背景未能完美融合(如form_compare.aspx所示)。[fixed]
不同类型的文本框间可进行数值对比,例如NumberBox可以与Label比较大小。同时,为同类型字段无需指定CompareType即可完成值的比较。
若采用.net-ajax技术,在回传数据前必须确保正在编辑的窗口没有被用户关闭(如feedback:huihuang所示)。[fixed]
在文本框从焦点中脱离后,系统会自动触发相关JavaScript代码以执行特定操作。[fixed]
当异常发生时,默认会打开一个错误页面。为解决此问题,在当前目录下应创建一个空的HTML文件,并将Window控件的IFrameUrl指向该文件而非默认显示位置。
在处理用户数据提交时,新的API调用方式更加便捷(如对比示例中的 alertalert_1.aspx和alertalert_2.aspx所示),具体实现只需3行代码即可完成功能。[fixed]
点击提交按钮后,页面会暂时变为半透明状态以避免进一步操作。[feedback:jima]
为满足复杂用户需求,在应用程序中添加一系列新的控件组件,包括菜单、下拉选项等(如button_menu.aspx所示)。同时,新增SplitButton控件以增强交互体验。[fixed]
+2008年7月9日 beta版本4
-DataPicker所采用的标准日期格式为yyyy-MM-dd样式[fixed]。
+Form表单字段之间可以进行数值比较运算[feedback:huihuang]。[fixed]
-不建议在现有系统架构中引入新增的比较属性组,需谨慎评估引入带来的性能影响[feedback:jima]。[fixed]
+TabStrip中的IFrame渲染异常问题已得到彻底解决(如图tabstrip_iframe.aspx所示)[feedback:xmzhu]。
-特殊处理策略为:仅在激活状态下的iframe组件才设置对应的url属性值,非激活状态下将默认保留透明背景效果[feedback:jima]。[fixed]
+表单字段的Enable属性缺省设置为不可见状态,在用户交互中可手动切换显示模式[feedback:xmzhu]。
-系统会自动应用预设样式配置,若需要自定义视觉效果建议单独创建新增样式条目进行调整
+2008-07-08 v0.3 beta3
Grid字段为空时,反向滚动按钮无法被点击(反馈编号:huihuang)。[已修复]。
增加HiddenField控件至布局中。(已修复)。
由于HTML的限制,使用普通文本框替代隐藏字段的效果并不理想。只需在CSS样式表中设置显示属性为hidden即可模拟隐藏字段的行为。(已修复)
最后的解决方案是将EnableTextBox属性设为true的同时,更改其默认状态为Read-only(例如在textbox2.aspx文件中)。
-模拟树下拉列表在无焦点状态下显示的文字不正确。[已修复]
需要确保在下拉列表某些项目无法被选中。(已修复)
增加DataEnableSelectField属性至表单元素,未被选择的字段会变灰且失去光标样式。(已修复)
对LinkButton和Grid类控件添加Enable属性,并在相关布局文件(如hyperlink.aspx和grid.aspx)中进行配置。[已修复]
发布日期:2008年7月7日,版本号为v0.3 beta 2。该控件的设计目标是引入新的UpdatePanelConnector控件,它可支持在布局构建的页面中使用 ASP.NET AJAX。请特别注意以下几点:
- UpdatePanelConnector仅允许配置一个子节点,例如 box:Panel。
示例:可以在 AJAX3.aspx content_page4.aspx 中看到该控件的应用实例。另外,在 AJAX3.aspx content_page3.aspx 中,点击“Ajax查询”按钮或关闭右上方标记的×号窗口(即单击右上角的叉)都会触发异步更新。
+2008-07-03 v0.3 beta1
设置为False的容器控件AutoHeight和AutoWidth属性。[fixed]
需在GroupPanel中手动指定AutoHeight属性设为true。[fixed]
可以新增UserControlConnector节点,可在其中嵌入用户自定义控制(如图所示于page_usercontrol.aspx)。[fixed]此外,在ContentPanel中也可以放置用户控件,请注意与UserControlConnector的区别。[fixed]
支持异步加载.但由于受限于ContentPanel的渲染机制,目前仅限于该控件类型。[fixed]例如,在ajx1.aspx和content_ajax2.aspx文件中即可实现。
需要注意的是,针对基于布局构建的页面(如content_page1.aspx)仍然无法使用此功能,因为这些页面采用整体渲染方式。因此在开发此类应用时应提前做好技术储备。
+2008-07-02 v0.2 beta12
在某些情况下,原页面已发生更改。[fixed]
该功能支持嵌入式元素的使用(如Iframe窗口中的按钮和右上角关闭按钮)。[fixed]
可以通过删除CloseAction属性来实现这一目标(以便与iframes的一致性方法一致)。[fixed]
确保alert和confirm等函数在整个父页面范围内有效。[fixed]
目前仍存在一些兼容性问题,特别是针对Firefox浏览器。[fix pending]
可以通过设置Grid1.CurrentSortColumnIndex = 0;来实现排序箭头的显示。
通过使用Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression可以获取当前的排序表达式。
支持将链接地址转换为~alert.aspx的形式(如HyperLinkField和WindowField字段)。[fixed]
如果在某个Tab中嵌入ContentPanel,则可能导致内容渲染位置不正确。[fixed]
可以在ContentPanel内可以添加用户的自定义控件组件。[fixed]
+2008-06-30 v0.2 beta11
增加TwinTriggerBox控件,并在twintriggerbox.aspx中提供示例。[fixed]
Grid应增加属性IsDatabasePaging=true以实现普通分页和数据库分页功能,否则无法正确处理添加或删除记录时的总记录数问题 [feedback:zgjiang2]。[fixed]
关闭Window时的PostBack事件OnClose可通过指定参数区分触发原因,并在window_postback.aspx中提供示例说明 [feedback:zgjiang2]。[fixed]
表单验证失败将显示第一个未通过验证的字段提示信息,但目前无法切换至相应tab页面 [fixed]。
建议用户在保存操作前确保所有输入字段已设置为可保存状态。(示例如下:content_page1.aspxsimpleform.aspx)[fixed]
当前功能尚未实现Window右上角关闭按钮的显示和提示功能 [feedback:zgjiang2]。[fixed]
Grid中的LinkButtonField属性在设置ConfirmText时会引发错误 [feedback:huihuang]。[fixed]
建议增加静态类Confirm以解决相关问题 [fixed]。
+2008-06-27 v0.2 beta10
对Grid功能进行优化完善。[已修复]
新增一个DataSimulateTreeLevelField属性用于Grid组件模拟树视图功能(如示例所示)。
新增了一个DataSimulateTreeLevelField属性,该属性可设置在Grid组件的列中以实现模拟树显示效果,并支持指定层次字段(0,1,2,...)来控制显示层级结构(例如见grid_simulate_tree.aspx)。
当切换分页时会清除已选择的数据条目。
新增一个PreRowDataBound事件,可在数据绑定前对特定列设置相关属性参数。
在Grid组件中新增了DataSimulateTreeLevelField属性用于模拟树视图功能,并提供了相应的示例(如grid_simulate_tree.aspx)。
与Grid组件类似地,在DropDownList组件中也新增了DataSimulateTreeLevelField属性用于模拟树视图效果,其使用方法与Grid组件的类似(例如见dropdownlist_simulate_tree.aspx)。
+2008-06-25 v0.2 beta9
在Iframe窗口中,仅允许内嵌页面的内容部分滚动;而工具栏(Toolbar)不自动滚动。[固定]
在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则整个外窗的高度计算为:450 + 5*2 + 26 + 32 = [显示具体数值]。其中,26是Toolbar的高,32则是窗口标题栏和下边框的高度。
关闭Iframe的LoadMask属性后,必须在内嵌页面中添加PageLoading控件,以确保效果一致性。
Grid组件已得到完善优化。
移除EnableClientPaging和EnableClientSort属性,因为这些设置在ASP.NET应用中会导致客户端分页和排序功能出现状态保持问题。
将EnableServerSort属性改名为AllowSorting。[示例:grid_sorting.aspx]
实现方式非常简单:
1. 设置AllowSorting=true;
2. 注册并绑定OnSort事件;
3. 在处理函数中重新绑定数据。
增加AllowPaging属性,并在相应组件中进行配置。[示例:grid_paging.aspx]
实现方法同样简便:
1. 设置AllowPaging=true,PageSize=3;
2. 在绑定时设置RecordCount为总记录数;
3. 在OnPageIndexChange事件处理函数中,动态调整Grid1.PageIndex值。
支持数据库分页功能:
在配置中设置AllowPaging=true,PageSize=3。同时,在绑定数据时将RecordCount设置为实际记录总数,并在OnPageIndexChange事件处理函数中对Grid1.PageIndex进行相应更新。