在.net做的系统中,用IE打开excel,点击不同tab页面会丢页

limingxy 2004-11-22 12:05:44
在.net做的系统中,用IE打开excel,点击不同tab页面会丢页,请教是什么原因?
...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
learner01 2004-11-22
  • 打赏
  • 举报
回复
帮你顶!
ExtAspNet v2.2.1 ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-03-28 v2.2.1 +为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能弹出对话框的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Extjs最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时页面消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_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最新版本v3.1.0。 -修正灰色皮肤的CSS问题。 -修正Grid的列名不能包含文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其的Close全部改为Hide。 -增加TabStripTab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocumentIcon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。 -修正了IE下Grid的一个JS问题(feedback:lqm4108)。 -修正Alert消息引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发父页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的关闭按钮提示信息一直是文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(在后续版本逐步完善)。 -v0.2beta2版本关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程反映到页面,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不请求extjs.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -GridTemplateField生成到页面控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari提供。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在父页面弹出确认对话框,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。 -一个典型应用,在Window控件打开页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选任何一项时在父页面弹出对话框的JS代码。 -修正IE7下不能以下划线作为CSS类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对extjs3.0所有语言的支持。 -ExtAspNet扩展的多语言包在js\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其添加自己的语言版本,并执行js\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父页面弹出窗口。 +在aspx页面必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。 -这将影响所有的aspx页面,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility的示例无法完成,现在已经修正。 +去除PageManager方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不被选(feedback:your568)。 -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSSclass名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load设置需要在AJAX需要更新的Asp.net控件了。 -在Page_Load设置了哪些需要在AJAX更新的Asp.net控件在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在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);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的IconUrl有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不对IE6.0提供支持。 +2009-07-13 v2.0 beta2 -集成extjs最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS紧挨着页面标签引入,这样在<head><em>中</em>自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert对话框<em>会</em>遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选<em>中</em>第一项。 -重新绑定模拟树的下拉列表后,选<em>中</em>项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window<em>中</em>的EnableIFrame==false,则<em>点击</em>关闭按钮时报JS错误。[fixed] -<em>页面</em>包含FileUpload控件,需要<em>点击</em>按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果弹出的窗口(Ext-Window)含有ASP<em>.NET</em>控件FileUpload,则此弹出窗口在关闭时出现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果<em>页面</em><em>中</em>存在ASP<em>.NET</em>控件(TextBox),则第二次提交表单就<em>会</em>报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -<em>页面</em>上放置ExtAspNet-Button和ASP<em>.NET</em>-Button,则<em>点击</em>ExtAspNet-Button时激发的是ASP<em>.NET</em>-Button的事件,这个BUG和Extjs2.2.1<em>中</em>Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程<em>中</em>使用ASP<em>.NET</em>标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP<em>.NET</em>标准控件和平共处了。[fixed] -如果一个ASP<em>.NET</em>按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP<em>.NET</em>控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新<em>页面</em>重试。”。[fixed] -自动测试功能<em>会</em>在以后版本<em>中</em>逐步完善。这个版本完成测试框架,采用Extjs<em>中</em>JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +<em>系统</em>底层代码优化(主要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类<em>中</em>的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前<em>页面</em><em>中</em>表单修改的确认提示框的脚本”。 ---[updated]删除PageContext<em>中</em>的GetConfirmFormModifiedReference,使用CurrentActiveWindow<em>中</em>的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不<em>会</em>修改弹出<em>页面</em>的URL(Ext-Window<em>中</em>的IFrame),以前为了实现功能为每个弹出<em>页面</em>添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX<em>页面</em><em>中</em>查找RegisterPageStateChangedScript属性,并删除,否则<em>会</em>运行错误! -A<em>页面</em>有Ext-Window控件弹出B<em>页面</em>,B<em>页面</em>有Ext-Window控件弹出C<em>页面</em>,B<em>页面</em>的Ext-Window控件设置Target='_parent',则弹出的Ext-Window(C<em>页面</em>)<em>会</em>覆盖整个A<em>页面</em>,这是正确的。 ---当时如果用户直接访问B<em>页面</em>,就<em>会</em>报JS错误,因为此时找不到B<em>页面</em>的父<em>页面</em>A了。现在的版本修正为如果找不到父<em>页面</em>,则就在当前<em>页面</em>弹出窗口,这样用户直接访问B<em>页面</em>也不<em>会</em>出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的<em>页面</em><em>中</em>表单改变,然后关闭弹出窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭弹出Ext-Window,再然后刷新父<em>页面</em>或回发父<em>页面</em>”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。 ---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父<em>页面</em>或者关闭后回发父<em>页面</em>的行为。 -如果弹出窗口(Window控件)<em>中</em>IFrame的<em>页面</em>不能正常加载(网络暂时出错或<em>页面</em>抛出异常),则此时<em>点击</em>右上角的关闭按钮<em>会</em>报JS错误,因为此时<em>页面</em>尚未加载完毕。 ---此版本修正了这个BUG,即时<em>页面</em>不能加载完全,也能通过右上角的关闭按钮关闭弹出含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的<em>页面</em>,为了保证这些IFrame的name<em>不同</em>,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel<em>中</em>内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在<em>页面</em>第一次加载时没有不可选择项,则回发时也不<em>会</em>有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -<em>页面</em>加载过程<em>中</em>的时间信息保存在Javascript变量window.box.timeInfo<em>中</em>。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将<em>会</em>提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选<em>中</em>任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其<em>中</em>target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包<em>中</em>增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +<em>Tab</em>Strip的<em>Tab</em>控件的EnablePostBack属性<em>会</em>在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此<em>Tab</em>都<em>会</em>回发)。[fixed] -有这样一个效果,如果<em>Tab</em>1默认显示,<em>Tab</em>1的EnablePostBack=true,则<em>页面</em>加载完毕后<em>会</em>回发<em>Tab</em>1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则<em>会</em>报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选<em>中</em>[feedback:jqpeng]。 -和Asp<em>.net</em><em>中</em>的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight<em>会</em>自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS<em>中</em>的height<em>不同</em>,CSS<em>中</em>的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS<em>中</em>的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml<em>会</em>被拷贝到bin目录下,提供VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。 +AccordionLink实现为控件。[fixed] -可以方便的在子<em>页面</em>(iframe)<em>中</em>通过js切换父<em>页面</em><em>中</em>选<em>中</em>的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时<em>会</em>出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)<em>中</em>设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只<em>会</em>改变Accordion的标题大小,而不<em>会</em>对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel<em>中</em>的容器,比如ContentPanel需要在外层加上<Items>标签。 -适当增大AccordionPanel<em>中</em>链接的高度20px->22px,同时对链接的样式也<em>做</em>了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX<em>中</em>HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -<em>Tab</em>Strip/Toolbar -<em>Tab</em>Strip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form<em>中</em>动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留<em>Tab</em>Strip的<em>Tab</em>s(<em>Tab</em>Collection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选<em>中</em>项(SelectedRowIndexArray)在ajax回发过程<em>中</em>存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选<em>中</em>项<em>中</em><em>会</em>存在当前不存在的行序号,导致服务器端遍历选<em>中</em>项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例<em>中</em>表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm<em>中</em>隐藏一个表单字段(Hidden=false)<em>会</em>占据<em>页面</em>空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX<em>中</em>设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报<em>中</em>可以用自定义样式实现,而不应该写在控件<em>中</em>。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9<em>中</em>布局可供使用。 -其<em>中</em>一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/<em>Tab</em>Strip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/<em>Tab</em>Strip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了弹出下级菜单,<em>点击</em>没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性不<em>会</em>渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报<em>中</em>唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通<em>页面</em>转向和ExtAspNetAjax下<em>页面</em>转向。[fixed] +模拟树的下拉列表的BUG(<em>会</em>使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,<em>Tab</em>Strip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(<em>页面</em>第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时<em>会</em>出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不<em>会</em>用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp<em>.net</em>的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp<em>.net</em>的控件在Ajax不<em>会</em>被更新,所以<em>会</em>导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList<em>中</em>项如果存在汉字,则<em>会</em>换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前<em>Tab</em><em>中</em>如果有ContentPanel,则在<em>页面</em>上方<em>会</em>有空白(可以通过设置EnableDeferredRender=false解决,但<em>会</em>减慢<em>页面</em>的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不<em>会</em>先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config<em>中</em>增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制<em>页面</em>上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -<em>Tab</em>Strip增加EnableDeferredRender属性(是否启用延迟加载<em>Tab</em>,默认启用)。[fixed] -重定向<em>页面</em>,使用<em>系统</em>的方法 PageContext.Redirect(string url),使用Response.Redirect方法<em>会</em>出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上<em>会</em>有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,<em>系统</em>提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不<em>会</em>对UI起作用,同时是安全的,不<em>会</em>有js错误)。 -网报Ajax整合(目前只支持所有的列表<em>页面</em>)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否弹出的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp<em>.Net</em>Ajax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高<em>页面</em>回发的速度(相比普通的回发和Asp<em>.net</em>Ajax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要<em>做</em>任何配置,所有的回发都是Ajax(在Web.config和PageManager<em>中</em>有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的<em>点击</em>一个按钮弹出窗口,可以在Button的OnClick事件<em>中</em>设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的<em>做</em>法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp<em>.net</em>控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性<em>会</em>有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用<em>页面</em>第一次加载标示和Ajax加载标示,默认都为true),所以如果使用<em>系统</em>默认的加载标示就不必每个<em>页面</em>都添加PageLoading控件。[fixed] -Grid<em>中</em>的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选<em>中</em>的状态在回发后<em>会</em>得到保持。[fixed] -Grid选<em>中</em>行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar<em>会</em>对IFrame的加载造成0.5m左右的延迟。 -主要是父<em>页面</em>加载一个比较大的css文件(~100k),则每次<em>打开</em>iframe<em>页面</em>,onload事件的调用都<em>会</em>有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化弹出窗口<em>中</em>IFrame的显示速度。[fixed] -在当前<em>页面</em>弹出窗口需要~20ms,在父<em>页面</em>弹出窗口需要100~300ms。通过缓存弹出的窗口实例,从而第二次弹出窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报<em>中</em>需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config<em>中</em>设置(推荐方法),也可以为每个<em>页面</em>设置。[fixed] -一个典型的应用是为每个用户设置<em>不同</em>的皮肤(根据用户浏览器<em>中</em>Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示<em>点击</em>可切换节点的折叠展开状态。[fixed] +<em>Tab</em>Strip<em>中</em>非当前<em>Tab</em><em>会</em>延迟渲染。[fixed] -这<em>会</em>明显加快<em>页面</em>的渲染速度,网报<em>中</em>一个典型的费用审批<em>页面</em>可以减少200ms的渲染时间。 -由于非当前<em>Tab</em>不<em>会</em>在<em>页面</em>加载时渲染,所以那些<em>Tab</em><em>中</em>的节点在<em>页面</em>加载后也是不可见的,需要将相关的脚本移动到控件的render事件<em>中</em>。 -不能比较两个DataPicker大小的BUG。[fixed] -<em>Tab</em>Strip延迟加载引起的BUG(非当前<em>Tab</em><em>中</em>的ContentPanel<em>会</em>占据<em>页面</em>空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame<em>页面</em><em>中</em>使用父<em>页面</em>的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame<em>页面</em>的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout<em>中</em>显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当<em>页面</em><em>中</em>含有iframe时,Ext.onReady<em>会</em>被调用两次(IE6/IE7)(http://www.extjs<em>.net</em>/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发<em>页面</em>再弹出IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。 -另一种<em>做</em>法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -<em>点击</em>关闭窗口的按钮,在IE6下<em>会</em>有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form<em>中</em>添加FormRow,并动态的向FormRow<em>中</em>添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame弹出窗口关闭后回发父<em>页面</em>,则<em>会</em>多加载IFrame一次,再次<em>打开</em>窗口<em>会</em>重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,<em>会</em>严重影响<em>页面</em>的加载速度。原因是通过脚本改变的IFrameUrl<em>会</em>在回发时保持状态,从而回发父<em>页面</em>后Window<em>中</em>的IFrame被添加到<em>页面</em>,而这是不需要的。 -现在"是否弹出窗口、窗口标题、IFrameUrl"在客户端的改变,不<em>会</em>影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -<em>点击</em>关闭窗口的按钮,在IE下<em>会</em>有JS错误。[fixed] -Window的右上角关闭图标增加提示,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,<em>打开</em>iframe/default.aspx<em>页面</em>,iexplorer占内存68.368M。 -内存存在泄漏时,<em>点击</em>iframe/page3.aspx<em>页面</em>8次后iexplorer占118.792M内存。 -修正后,<em>点击</em>iframe/page3.aspx<em>页面</em>8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE<em>会</em>自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +<em>页面</em>正在加载的提示尽早的显示出来。[fixed] -首先在执行js来完成<em>页面</em>渲染之前延迟5ms,以便浏览器把当前<em>页面</em>内容显示出来。 -加载js脚本的script标签放置在<em>页面</em>的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -<em>Tab</em>Strip延时加载出错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的<em>页面</em>应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则<em>会</em>JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在<em>页面</em>显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请<em>页面</em>(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认<em>会</em>加载form.aspx<em>页面</em>(Window控件的BUG)。[fixed] -Window<em>中</em>的保存并关闭按钮和Asp<em>.net</em>Ajax冲突。[fixed] -优化关闭Window的js脚本,减少写到<em>页面</em>的js大小。[fixed] -加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp<em>.net</em>控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快<em>页面</em>加载速度(一个典型<em>页面</em>的js由原来的33.0k降低为21.4k)。[fixed] +弹出窗口<em>中</em>,<em>点击</em>按钮回发然后<em>点击</em>关闭按钮,出现js错误 [feedback:xmzhu]。[fixed] -因为在<em>页面</em>的Page_Load<em>中</em>,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向<em>页面</em>注册了一段脚本,但是这段脚本在回发时没有注册到<em>页面</em>,因为js调用此脚本时报错。 -一种解决方法是将向<em>页面</em>注册脚本的函数移动到if语句的外面,即每次都向<em>页面</em>注册此脚本。 -另一种办法就是在PageManager控件<em>中</em>增加RegisterPageStateChangedScript(向<em>页面</em>注册监视<em>页面</em><em>中</em>表单内容改变的脚本)的属性(<em>会</em>在每次<em>页面</em>回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次<em>页面</em>回发时都注册脚本(包括Ajax局部回发),这就避免了手工去<em>做</em>的麻烦(已经在网报<em>中</em>遇到这种情况)。 -每个<em>页面</em>必须添加一个PageManager控件,否则<em>会</em>出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp<em>.net</em> Ajax保持兼容)。[fixed] -最大的好处是可以减少<em>页面</em>下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过<em>点击</em>按钮弹出IFrame窗口,可直接关闭父<em>页面</em>,也可在关闭后刷新或回发父<em>页面</em>。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要<em>做</em>的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个<em>页面</em>(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其<em>中</em>A包含B<em>页面</em>,当你在B<em>中</em><em>打开</em>包含有<em>页面</em>C的窗口时,窗口不是在B<em>中</em><em>打开</em>,而是在A<em>中</em><em>打开</em>,这样才能保证窗口覆盖整个<em>页面</em>,当你从C<em>中</em>返回需要回发<em>页面</em>B时,却发现取得的是A<em>页面</em>,因为我们窗口是在A<em>页面</em><em>中</em>创建的。我<em>会</em>通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid<em>中</em>弹出窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox弹出窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个<em>页面</em>弹出窗口或者在当前<em>页面</em>弹出窗口,仅仅设置Window的Target属性即可。 -示例4,弹出窗口<em>中</em>的弹出窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下<em>Tab</em>Strip在Ajax回发后不<em>会</em>去掉x-hide-display样式,导致<em>Tab</em>显示为空的BUG。[fixed] -对<em>Tab</em>Strip/Panel/Window<em>中</em>的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到<em>页面</em>节点,同时第二次<em>打开</em>Window<em>中</em>的IFrame不<em>会</em>有残影出现。[fixed] -如果<em>Tab</em>Strip的<em>Tab</em>不是激活<em>Tab</em>并且设置了IFrameUrl,则<em>会</em>延迟加载(示例在<em>tab</em>strip_iframe.aspx)。[fixed] -Tree控件,<em>点击</em>一个节点自动回发,则当前<em>点击</em>的那个节点的选<em>中</em>状态不<em>会</em>保持的BUG [feedback:zgjiang2]。[fixed] +规范关闭窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe<em>中</em>关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,<em>点击</em>“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个<em>页面</em>UI,再关闭窗口。 -参照Yslow的评分规则,将JS文件引用由head移动到body<em>中</em>。[fixed] -Firefox下,如果<em>页面</em>太长<em>会</em>出滚动条,原来在ViewPort样式<em>中</em>有body{overflow:hidden;}。[fixed] +IFrame内的<em>页面</em>宽度和高度<em>会</em>自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个<em>页面</em>的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息<em>中</em>MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则<em>会</em>引起<em>页面</em>死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选<em>中</em>哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息<em>中</em>的换行符(转换为<br/>),否则提示信息可能导致<em>页面</em>渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库<em>中</em>的数据绑定到Tree(示例在tree2_bind_da<em>tab</em>ase.aspx)。 -ajax加载树节点,放在UpdatePanel<em>中</em>才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树<em>中</em>不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个<em>页面</em>放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选<em>中</em>样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字<em>会</em>换行,导致错位。[fixed] -虽然最后未能解决<div style="width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;"><div style="width: 16px; height: 18px; float: left;">##</div>差旅交通费</div>在IE和Firefox下显示的<em>不同</em>效果。 -但是通过用<img src="##" />来代替<div style="background:url(##)" />,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“<span style="margin-right: -1000px;">差旅交通费</span>”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选<em>中</em>行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -<em>点击</em>树节点可以链接到<em>页面</em>,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel<em>中</em>放置ExtAspNet控件,则渲染时<em>会</em>出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel<em>中</em>渲染ExtAspNet控件,如果容器的display='none',则<em>会</em>出现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就<em>会</em>显示滚动条。 +IE6下,在应用Asp<em>.Net</em>Ajax后,Form<em>中</em>字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp<em>.Net</em>Ajax后不仅Form<em>中</em>列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数<em>中</em>,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正<em>页面</em><em>中</em>所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master <em>页面</em>。 +集成的AspNetAjax有一个很大的BUG,只要你在<em>页面</em>上进行过ajax操作,当改变窗口大小时你<em>会</em>惊讶的发现内容区域的内容全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的代码让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选<em>中</em>样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快<em>页面</em>的渲染速度(一个典型的20个记录的<em>页面</em>,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不<em>会</em>改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid<em>中</em>静态的CheckBoxField图片。[fixed] -<em>Tab</em>Strip增加<em>Tab</em>IndexChanged事件,同时<em>Tab</em>增加EnablePostBack,可以在<em>点击</em>一个<em>Tab</em>时引起回发事件。这在延迟加载<em>Tab</em>的内容非常有用。(示例在<em>tab</em>strip.aspx)[fixed] +2008-07-12 v0.3 beta5 -<em>页面</em>菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑<em>页面</em>使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript<em>中</em>不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在<em>页面</em>添加onReady函数(<em>会</em>被<em>系统</em>调用),然后用javascript监视文本框值的改变。 -弹出Window默认显示的错误<em>页面</em>,解决方法在当前目录添加一个空的html<em>页面</em>,然后把Window控件的IFrameUrl指向这个<em>页面</em>而不是"#"。[fixed] +弹出的窗口<em>中</em>的弹出窗口的如果内容发生变化,则<em>点击</em>右上角的关闭按钮时<em>会</em>有提示用户先保存的对话框,但是这个对话框的被第二个弹出窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例<em>中</em>alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -<em>点击</em>提交按钮后变成灰色不可再次<em>点击</em>(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +<em>Tab</em>Strip<em>中</em>放置IFrame<em>会</em>出现渲染错误 (示例在<em>tab</em>strip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的<em>Tab</em>如果不是激活<em>Tab</em>,则不设置Url,只有在激活时才设置Url。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以<em>点击</em>的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的<em>页面</em>使用Asp<em>.net</em> Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx<em>中</em>,<em>点击</em>“Ajax查询”按钮和关闭弹出的窗口(<em>点击</em>右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其<em>中</em>放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel<em>中</em>放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp<em>.net</em> ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel<em>中</em>使用,示例在ajax1.aspx/content_ajax2.aspx<em>中</em>。 -对于使用布局构建的<em>页面</em>(比如content_page1.aspx)还不能使用Asp<em>.net</em> ajax,因为<em>页面</em>是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +关闭前提示当前<em>页面</em>已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角关闭按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe<em>中</em><em>做</em>法一致)。 +iframe<em>中</em>的alert/confirm要覆盖整个父<em>页面</em>,而不仅仅是iframe<em>页面</em>。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -<em>Tab</em>Strip的<em>Tab</em><em>中</em>如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel<em>中</em>放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDa<em>tab</em>asePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不<em>会</em>变化 [feedback:zgjiang2]。[fixed] -关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要弹出对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的<em>tab</em>)。[fixed] +<em>页面</em><em>中</em>任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角关闭按钮的提示保存功能。 -Master/Content的内容页<em>中</em>Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid<em>中</em>的LinkButtonField设置ConfirmText<em>会</em>出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid<em>中</em>模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选<em>中</em>的值 [feedback:jqpeng]。 -增加PreRowDa<em>taB</em>ound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowda<em>tab</em>ound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体<em>中</em>的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx/simpleform.aspx)[fixed] -在simpleform.aspx<em>中</em>:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其<em>中</em>26是Toolbar的高度,32是窗口的标题栏和下边框的高度。 +关闭Iframe的LoadMask,所以需要Iframe<em>页面</em>添加PageLoading控件,这样效果统一。[fixed] +Grid完善。 -去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP<em>.NET</em>应用<em>中</em><em>会</em>有很多问题(主要是状态保持的问题)。 +EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx) -使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数<em>中</em>重新绑定数据。 +增加AllowPaging属性。(示例在grid_paging.aspx) -使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数<em>中</em>Grid1.PageIndex = e.NewPageIndex;OK。 +数据库分页支持。(示例在grid_da<em>tab</em>ase_paging.aspx) -使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数<em>中</em>Grid1.PageIn</a></div><div data-report-view="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/zahuifan/197432","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/zahuifan/197432" data-report-click="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/zahuifan/197432","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>回车变成<em>Tab</em>的解决方案</a></div> <a target="_blank" href="https://download.csdn.net/download/zahuifan/197432" data-report-click="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/zahuifan/197432","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>IE<em>会</em>将<em>页面</em>上的第一个按钮自动设为默认按钮。当用户在<em>页面</em>上按回车键时,就<em>会</em>触发这个默认按钮。事实上,有很多用户有在TextBox<em>中</em>输入数据之后按回车的习惯(似乎是长期使用<em>Excel</em>养成的习惯)。想像一下,当用户依次在20个TextBox<em>中</em>输入了数据之后,一不小心习惯性地按了一下回车,而该<em>页面</em>上的默认按钮是“检索”按钮!@##¥@...刚刚的工作全部丢失了。<br/><br/>有了VS2005,这个问题似乎一下子变得容易解决了,因为在VS2005的<em>页面</em><em>中</em>,每个Panel都可以指定一个DefaultButton。我们可以把这个DefaultButton设置成“保存”按钮,这样当用户按下回车时<em>会</em>自动</a></div><div data-report-view="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>ExtAspNet_v2.3.2_dll</a></div> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>ExtAspNet - ExtJS based ASP<em>.NET</em> Controls with Full AJAX Support ExtAspNet是一组专业的Asp<em>.net</em>控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp<em>.net</em>/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-09-29 v2.3.2 -不绑定任何数据到Grid时,确保<em>页面</em>不<em>会</em>出错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定Data<em>Tab</em>le的BUG(feedback:RedOcean)。 -增加土耳其语言资料文件(feedback:abdullaharslan)。 -Grid的BoundField增加NullDisplayText属性,用于处理数据库<em>中</em>的null值,如果没有设置则默认为空字符串。 -修正DatePicker<em>中</em>的一个bug(31/01/2010将<em>会</em>返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。 -修正extjs最新版本(v3.2.2)<em>中</em>的一个bug,如果下拉列表<em>中</em>存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。 -实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。 -俄语翻译(feedback:vbelyaev)。 +2010-06-30 v2.3.1 -ExtAspNet控件将不在依赖ViewState,减少1/4左右的HTTP数据传输量。 -控件和示例的增强。 +2010-03-28 v2.2.1 +为<em>Tab</em>Strip的GetAdd<em>Tab</em>Reference函数增加重载方法,以便指定<em>Tab</em>的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器<em>打开</em>后,不能弹出对话框的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Extjs最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时<em>页面</em>消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp<em>.net</em>的控件ImageButton具有和Asp<em>.net</em>的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +<em>Tab</em>Strip增加GetAdd<em>Tab</em>Reference和GetRemove<em>Tab</em>Reference两个函数,用来向<em>Tab</em>Strip控件动态增加删除<em>Tab</em>。 -增加示例<em>tab</em>strip/<em>tab</em>strip_add<em>tab</em>.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为<em>Tab</em>Strip增加Enable<em>Tab</em>CloseMenu属性,是否启用右键菜单,可用来关闭当前<em>Tab</em>和所有其他<em>Tab</em>。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="false")(feedback:zqmars)。 -Window控件更新。 -关闭按钮默认直接关闭,不<em>会</em>弹出确认对话框。 -GetConfirmFormModifiedHideReference的函数<em>中</em>的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon="Close",现在需要这样定义Icon="SystemClose"。 -WindowPosition默认居<em>中</em>,而不是黄金分割位置。 +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<em>中</em>的showInParent参数也变为Target枚举类型。 -MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。 +2010-01-06 v2.1.9 -集成Extjs最新版本v3.1.0。 -修正灰色皮肤的CSS问题。 -修正Grid的列名<em>中</em>不能包含<em>中</em>文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件<em>中</em>不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其<em>中</em>的Close全部改为Hide。 -增加<em>Tab</em>Strip<em>中</em><em>Tab</em>控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument<em>中</em>Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时<em>会</em>出现空白<em>页面</em>的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window关闭后不能再次<em>打开</em>的BUG(feedback:alexa99)。 -修正了IE下Grid<em>中</em>的一个JS问题(feedback:lqm4108)。 -修正Alert消息<em>中</em>引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(<em>会</em>保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发父<em>页面</em>(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件<em>中</em>删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加<em>中</em>国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的<em>Tab</em>在切换过程<em>中</em><em>会</em>重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick<em>会</em>覆盖LinkButtonField, HyperLinkField, CheckBoxField的<em>点击</em>事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,<em>Tab</em>等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选<em>中</em>某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选<em>中</em>当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet<em>中</em>的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的关闭按钮提示信息一直是<em>中</em>文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(<em>会</em>在后续版本<em>中</em>逐步完善)。 -v0.2beta2版本<em>中</em>关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件<em>会</em>被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程<em>中</em><em>会</em>反映到<em>页面</em><em>中</em>,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不<em>会</em>请求extjs.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp<em>.net</em>的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -Grid<em>中</em>TemplateField生成到<em>页面</em><em>中</em>控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari提供。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其<em>中</em>包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在父<em>页面</em>弹出确认对话框,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加<em>点击</em>确定的JavaScript回调函数。 -一个典型应用,在Window控件<em>中</em><em>打开</em>新<em>页面</em>,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp<em>.net</em>/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选<em>中</em>任何一项时在父<em>页面</em>弹出对话框的JS代码。 -修正IE7下不能以下划线作为CSS<em>中</em>类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为<em>页面</em>的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对extjs3.0<em>中</em>所有语言的支持。 -ExtAspNet扩展的多语言包在js\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其<em>中</em>添加自己的语言版本,并执行js\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父<em>页面</em>弹出窗口。 +在aspx<em>页面</em><em>中</em>必须显示的声明控件的集合属性(比如<em>Tab</em>s(<em>Tab</em>Strip), Items(PanelBase), Nodes(TreeNode))。 -这将<em>会</em>影响所有的aspx<em>页面</em>,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp<em>.net</em> AJAX<em>中</em>使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管<em>Tab</em>Strip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将<em>会</em>影响所有的aspx<em>页面</em>,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config<em>中</em>修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp<em>.net</em> compatibility<em>中</em>的示例无法完成,现在已经修正。 +去除PageManager<em>中</em>方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp<em>.net</em> compatibility<em>中</em>的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid<em>中</em>每个单元格的值了。 -增加示例-如何将Grid控件导出为<em>Excel</em>(data\grid_<em>excel</em>_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不<em>会</em>被选<em>中</em>(feedback:your568)。 -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSS<em>中</em>class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,<em>Tab</em>Strip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个<em>页面</em>保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp<em>.net</em>的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp<em>.net</em>的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们<em>做</em>了优化,现在要使一个Asp<em>.net</em>的按钮能够AJAX提交,你不需要<em>做</em>任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load<em>中</em>设置需要在AJAX<em>中</em>需要更新的Asp<em>.net</em>控件了。 -在Page_Load<em>中</em>设置了哪些需要在AJAX<em>中</em>更新的Asp<em>.net</em>控件<em>会</em>在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。 +2009-08-02 v2.0 beta4 +和Asp<em>.Net</em>的Forms Authentication兼容[feedback:mgzhenhong]。 -采用和Asp<em>.Net</em> Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。 -现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向<em>页面</em>,两者效果一样。 -支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的IconUrl有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不<em>会</em>对IE6.0提供支持。 +2009-07-13 v2.0 beta2 -集成extjs最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();<em>会</em>导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个<em>页面</em>只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS<em>会</em>紧挨着<em>页面</em>标签引入,这样在<em>中</em>自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert对话框<em>会</em>遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选<em>中</em>第一项。 -重新绑定模拟树的下拉列表后,选<em>中</em>项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window<em>中</em>的EnableIFrame==false,则<em>点击</em>关闭按钮时报JS错误。[fixed] -<em>页面</em>包含FileUpload控件,需要<em>点击</em>按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果弹出的窗口(Ext-Window)含有ASP<em>.NET</em>控件FileUpload,则此弹出窗口在关闭时出现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果<em>页面</em><em>中</em>存在ASP<em>.NET</em>控件(TextBox),则第二次提交表单就<em>会</em>报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -<em>页面</em>上放置ExtAspNet-Button和ASP<em>.NET</em>-Button,则<em>点击</em>ExtAspNet-Button时激发的是ASP<em>.NET</em>-Button的事件,这个BUG和Extjs2.2.1<em>中</em>Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程<em>中</em>使用ASP<em>.NET</em>标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP<em>.NET</em>标准控件和平共处了。[fixed] -如果一个ASP<em>.NET</em>按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP<em>.NET</em>控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新<em>页面</em>重试。”。[fixed] -自动测试功能<em>会</em>在以后版本<em>中</em>逐步完善。这个版本完成测试框架,采用Extjs<em>中</em>JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +<em>系统</em>底层代码优化(主要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类<em>中</em>的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前<em>页面</em><em>中</em>表单修改的确认提示框的脚本”。 ---[updated]删除PageContext<em>中</em>的GetConfirmFormModifiedReference,使用CurrentActiveWindow<em>中</em>的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不<em>会</em>修改弹出<em>页面</em>的URL(Ext-Window<em>中</em>的IFrame),以前为了实现功能为每个弹出<em>页面</em>添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX<em>页面</em><em>中</em>查找RegisterPageStateChangedScript属性,并删除,否则<em>会</em>运行错误! -A<em>页面</em>有Ext-Window控件弹出B<em>页面</em>,B<em>页面</em>有Ext-Window控件弹出C<em>页面</em>,B<em>页面</em>的Ext-Window控件设置Target='_parent',则弹出的Ext-Window(C<em>页面</em>)<em>会</em>覆盖整个A<em>页面</em>,这是正确的。 ---当时如果用户直接访问B<em>页面</em>,就<em>会</em>报JS错误,因为此时找不到B<em>页面</em>的父<em>页面</em>A了。现在的版本修正为如果找不到父<em>页面</em>,则就在当前<em>页面</em>弹出窗口,这样用户直接访问B<em>页面</em>也不<em>会</em>出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的<em>页面</em><em>中</em>表单改变,然后关闭弹出窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭弹出Ext-Window,再然后刷新父<em>页面</em>或回发父<em>页面</em>”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。 ---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父<em>页面</em>或者关闭后回发父<em>页面</em>的行为。 -如果弹出窗口(Window控件)<em>中</em>IFrame的<em>页面</em>不能正常加载(网络暂时出错或<em>页面</em>抛出异常),则此时<em>点击</em>右上角的关闭按钮<em>会</em>报JS错误,因为此时<em>页面</em>尚未加载完毕。 ---此版本修正了这个BUG,即时<em>页面</em>不能加载完全,也能通过右上角的关闭按钮关闭弹出含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的<em>页面</em>,为了保证这些IFrame的name<em>不同</em>,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel<em>中</em>内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在<em>页面</em>第一次加载时没有不可选择项,则回发时也不<em>会</em>有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -<em>页面</em>加载过程<em>中</em>的时间信息保存在Javascript变量window.box.timeInfo<em>中</em>。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将<em>会</em>提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选<em>中</em>任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其<em>中</em>target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包<em>中</em>增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +<em>Tab</em>Strip的<em>Tab</em>控件的EnablePostBack属性<em>会</em>在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此<em>Tab</em>都<em>会</em>回发)。[fixed] -有这样一个效果,如果<em>Tab</em>1默认显示,<em>Tab</em>1的EnablePostBack=true,则<em>页面</em>加载完毕后<em>会</em>回发<em>Tab</em>1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则<em>会</em>报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选<em>中</em>[feedback:jqpeng]。 -和Asp<em>.net</em><em>中</em>的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight<em>会</em>自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS<em>中</em>的height<em>不同</em>,CSS<em>中</em>的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS<em>中</em>的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml<em>会</em>被拷贝到bin目录下,提供VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。 +AccordionLink实现为控件。[fixed] -可以方便的在子<em>页面</em>(iframe)<em>中</em>通过js切换父<em>页面</em><em>中</em>选<em>中</em>的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时<em>会</em>出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)<em>中</em>设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只<em>会</em>改变Accordion的标题大小,而不<em>会</em>对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel<em>中</em>的容器,比如ContentPanel需要在外层加上标签。 -适当增大AccordionPanel<em>中</em>链接的高度20px->22px,同时对链接的样式也<em>做</em>了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX<em>中</em>HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -<em>Tab</em>Strip/Toolbar -<em>Tab</em>Strip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form<em>中</em>动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留<em>Tab</em>Strip的<em>Tab</em>s(<em>Tab</em>Collection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选<em>中</em>项(SelectedRowIndexArray)在ajax回发过程<em>中</em>存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选<em>中</em>项<em>中</em><em>会</em>存在当前不存在的行序号,导致服务器端遍历选<em>中</em>项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例<em>中</em>表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm<em>中</em>隐藏一个表单字段(Hidden=false)<em>会</em>占据<em>页面</em>空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX<em>中</em>设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报<em>中</em>可以用自定义样式实现,而不应该写在控件<em>中</em>。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9<em>中</em>布局可供使用。 -其<em>中</em>一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/<em>Tab</em>Strip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/<em>Tab</em>Strip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了弹出下级菜单,<em>点击</em>没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性不<em>会</em>渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报<em>中</em>唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通<em>页面</em>转向和ExtAspNetAjax下<em>页面</em>转向。[fixed] +模拟树的下拉列表的BUG(<em>会</em>使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,<em>Tab</em>Strip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(<em>页面</em>第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时<em>会</em>出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不<em>会</em>用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp<em>.net</em>的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp<em>.net</em>的控件在Ajax不<em>会</em>被更新,所以<em>会</em>导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList<em>中</em>项如果存在汉字,则<em>会</em>换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前<em>Tab</em><em>中</em>如果有ContentPanel,则在<em>页面</em>上方<em>会</em>有空白(可以通过设置EnableDeferredRender=false解决,但<em>会</em>减慢<em>页面</em>的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不<em>会</em>先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config<em>中</em>增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制<em>页面</em>上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -<em>Tab</em>Strip增加EnableDeferredRender属性(是否启用延迟加载<em>Tab</em>,默认启用)。[fixed] -重定向<em>页面</em>,使用<em>系统</em>的方法 PageContext.Redirect(string url),使用Response.Redirect方法<em>会</em>出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上<em>会</em>有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,<em>系统</em>提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不<em>会</em>对UI起作用,同时是安全的,不<em>会</em>有js错误)。 -网报Ajax整合(目前只支持所有的列表<em>页面</em>)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否弹出的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp<em>.Net</em>Ajax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高<em>页面</em>回发的速度(相比普通的回发和Asp<em>.net</em>Ajax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要<em>做</em>任何配置,所有的回发都是Ajax(在Web.config和PageManager<em>中</em>有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的<em>点击</em>一个按钮弹出窗口,可以在Button的OnClick事件<em>中</em>设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的<em>做</em>法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp<em>.net</em>控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性<em>会</em>有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用<em>页面</em>第一次加载标示和Ajax加载标示,默认都为true),所以如果使用<em>系统</em>默认的加载标示就不必每个<em>页面</em>都添加PageLoading控件。[fixed] -Grid<em>中</em>的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选<em>中</em>的状态在回发后<em>会</em>得到保持。[fixed] -Grid选<em>中</em>行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar<em>会</em>对IFrame的加载造成0.5m左右的延迟。 -主要是父<em>页面</em>加载一个比较大的css文件(~100k),则每次<em>打开</em>iframe<em>页面</em>,onload事件的调用都<em>会</em>有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化弹出窗口<em>中</em>IFrame的显示速度。[fixed] -在当前<em>页面</em>弹出窗口需要~20ms,在父<em>页面</em>弹出窗口需要100~300ms。通过缓存弹出的窗口实例,从而第二次弹出窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报<em>中</em>需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config<em>中</em>设置(推荐方法),也可以为每个<em>页面</em>设置。[fixed] -一个典型的应用是为每个用户设置<em>不同</em>的皮肤(根据用户浏览器<em>中</em>Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示<em>点击</em>可切换节点的折叠展开状态。[fixed] +<em>Tab</em>Strip<em>中</em>非当前<em>Tab</em><em>会</em>延迟渲染。[fixed] -这<em>会</em>明显加快<em>页面</em>的渲染速度,网报<em>中</em>一个典型的费用审批<em>页面</em>可以减少200ms的渲染时间。 -由于非当前<em>Tab</em>不<em>会</em>在<em>页面</em>加载时渲染,所以那些<em>Tab</em><em>中</em>的节点在<em>页面</em>加载后也是不可见的,需要将相关的脚本移动到控件的render事件<em>中</em>。 -不能比较两个DataPicker大小的BUG。[fixed] -<em>Tab</em>Strip延迟加载引起的BUG(非当前<em>Tab</em><em>中</em>的ContentPanel<em>会</em>占据<em>页面</em>空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame<em>页面</em><em>中</em>使用父<em>页面</em>的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame<em>页面</em>的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout<em>中</em>显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当<em>页面</em><em>中</em>含有iframe时,Ext.onReady<em>会</em>被调用两次(IE6/IE7)(http://www.extjs<em>.net</em>/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发<em>页面</em>再弹出IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。 -另一种<em>做</em>法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -<em>点击</em>关闭窗口的按钮,在IE6下<em>会</em>有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form<em>中</em>添加FormRow,并动态的向FormRow<em>中</em>添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame弹出窗口关闭后回发父<em>页面</em>,则<em>会</em>多加载IFrame一次,再次<em>打开</em>窗口<em>会</em>重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,<em>会</em>严重影响<em>页面</em>的加载速度。原因是通过脚本改变的IFrameUrl<em>会</em>在回发时保持状态,从而回发父<em>页面</em>后Window<em>中</em>的IFrame被添加到<em>页面</em>,而这是不需要的。 -现在"是否弹出窗口、窗口标题、IFrameUrl"在客户端的改变,不<em>会</em>影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -<em>点击</em>关闭窗口的按钮,在IE下<em>会</em>有JS错误。[fixed] -Window的右上角关闭图标增加提示,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,<em>打开</em>iframe/default.aspx<em>页面</em>,iexplorer占内存68.368M。 -内存存在泄漏时,<em>点击</em>iframe/page3.aspx<em>页面</em>8次后iexplorer占118.792M内存。 -修正后,<em>点击</em>iframe/page3.aspx<em>页面</em>8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE<em>会</em>自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +<em>页面</em>正在加载的提示尽早的显示出来。[fixed] -首先在执行js来完成<em>页面</em>渲染之前延迟5ms,以便浏览器把当前<em>页面</em>内容显示出来。 -加载js脚本的script标签放置在<em>页面</em>的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -<em>Tab</em>Strip延时加载出错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的<em>页面</em>应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则<em>会</em>JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在<em>页面</em>显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请<em>页面</em>(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认<em>会</em>加载form.aspx<em>页面</em>(Window控件的BUG)。[fixed] -Window<em>中</em>的保存并关闭按钮和Asp<em>.net</em>Ajax冲突。[fixed] -优化关闭Window的js脚本,减少写到<em>页面</em>的js大小。[fixed] -加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp<em>.net</em>控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快<em>页面</em>加载速度(一个典型<em>页面</em>的js由原来的33.0k降低为21.4k)。[fixed] +弹出窗口<em>中</em>,<em>点击</em>按钮回发然后<em>点击</em>关闭按钮,出现js错误 [feedback:xmzhu]。[fixed] -因为在<em>页面</em>的Page_Load<em>中</em>,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向<em>页面</em>注册了一段脚本,但是这段脚本在回发时没有注册到<em>页面</em>,因为js调用此脚本时报错。 -一种解决方法是将向<em>页面</em>注册脚本的函数移动到if语句的外面,即每次都向<em>页面</em>注册此脚本。 -另一种办法就是在PageManager控件<em>中</em>增加RegisterPageStateChangedScript(向<em>页面</em>注册监视<em>页面</em><em>中</em>表单内容改变的脚本)的属性(<em>会</em>在每次<em>页面</em>回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次<em>页面</em>回发时都注册脚本(包括Ajax局部回发),这就避免了手工去<em>做</em>的麻烦(已经在网报<em>中</em>遇到这种情况)。 -每个<em>页面</em>必须添加一个PageManager控件,否则<em>会</em>出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp<em>.net</em> Ajax保持兼容)。[fixed] -最大的好处是可以减少<em>页面</em>下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过<em>点击</em>按钮弹出IFrame窗口,可直接关闭父<em>页面</em>,也可在关闭后刷新或回发父<em>页面</em>。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要<em>做</em>的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个<em>页面</em>(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其<em>中</em>A包含B<em>页面</em>,当你在B<em>中</em><em>打开</em>包含有<em>页面</em>C的窗口时,窗口不是在B<em>中</em><em>打开</em>,而是在A<em>中</em><em>打开</em>,这样才能保证窗口覆盖整个<em>页面</em>,当你从C<em>中</em>返回需要回发<em>页面</em>B时,却发现取得的是A<em>页面</em>,因为我们窗口是在A<em>页面</em><em>中</em>创建的。我<em>会</em>通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid<em>中</em>弹出窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox弹出窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个<em>页面</em>弹出窗口或者在当前<em>页面</em>弹出窗口,仅仅设置Window的Target属性即可。 -示例4,弹出窗口<em>中</em>的弹出窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下<em>Tab</em>Strip在Ajax回发后不<em>会</em>去掉x-hide-display样式,导致<em>Tab</em>显示为空的BUG。[fixed] -对<em>Tab</em>Strip/Panel/Window<em>中</em>的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到<em>页面</em>节点,同时第二次<em>打开</em>Window<em>中</em>的IFrame不<em>会</em>有残影出现。[fixed] -如果<em>Tab</em>Strip的<em>Tab</em>不是激活<em>Tab</em>并且设置了IFrameUrl,则<em>会</em>延迟加载(示例在<em>tab</em>strip_iframe.aspx)。[fixed] -Tree控件,<em>点击</em>一个节点自动回发,则当前<em>点击</em>的那个节点的选<em>中</em>状态不<em>会</em>保持的BUG [feedback:zgjiang2]。[fixed] +规范关闭窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe<em>中</em>关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,<em>点击</em>“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个<em>页面</em>UI,再关闭窗口。 -参照Yslow的评分规则,将JS文件引用由head移动到body<em>中</em>。[fixed] -Firefox下,如果<em>页面</em>太长<em>会</em>出滚动条,原来在ViewPort样式<em>中</em>有body{overflow:hidden;}。[fixed] +IFrame内的<em>页面</em>宽度和高度<em>会</em>自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个<em>页面</em>的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息<em>中</em>MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则<em>会</em>引起<em>页面</em>死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选<em>中</em>哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息<em>中</em>的换行符(转换为),否则提示信息可能导致<em>页面</em>渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库<em>中</em>的数据绑定到Tree(示例在tree2_bind_da<em>tab</em>ase.aspx)。 -ajax加载树节点,放在UpdatePanel<em>中</em>才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树<em>中</em>不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个<em>页面</em>放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选<em>中</em>样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字<em>会</em>换行,导致错位。[fixed] -虽然最后未能解决##差旅交通费在IE和Firefox下显示的<em>不同</em>效果。 -但是通过用来代替,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选<em>中</em>行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -<em>点击</em>树节点可以链接到<em>页面</em>,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel<em>中</em>放置ExtAspNet控件,则渲染时<em>会</em>出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel<em>中</em>渲染ExtAspNet控件,如果容器的display='none',则<em>会</em>出现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就<em>会</em>显示滚动条。 +IE6下,在应用Asp<em>.Net</em>Ajax后,Form<em>中</em>字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp<em>.Net</em>Ajax后不仅Form<em>中</em>列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数<em>中</em>,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正<em>页面</em><em>中</em>所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master <em>页面</em>。 +集成的AspNetAjax有一个很大的BUG,只要你在<em>页面</em>上进行过ajax操作,当改变窗口大小时你<em>会</em>惊讶的发现内容区域的内容全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的代码让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选<em>中</em>样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快<em>页面</em>的渲染速度(一个典型的20个记录的<em>页面</em>,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不<em>会</em>改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid<em>中</em>静态的CheckBoxField图片。[fixed] -<em>Tab</em>Strip增加<em>Tab</em>IndexChanged事件,同时<em>Tab</em>增加EnablePostBack,可以在<em>点击</em>一个<em>Tab</em>时引起回发事件。这在延迟加载<em>Tab</em>的内容非常有用。(示例在<em>tab</em>strip.aspx)[fixed] +2008-07-12 v0.3 beta5 -<em>页面</em>菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑<em>页面</em>使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript<em>中</em>不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在<em>页面</em>添加onReady函数(<em>会</em>被<em>系统</em>调用),然后用javascript监视文本框值的改变。 -弹出Window默认显示的错误<em>页面</em>,解决方法在当前目录添加一个空的html<em>页面</em>,然后把Window控件的IFrameUrl指向这个<em>页面</em>而不是"#"。[fixed] +弹出的窗口<em>中</em>的弹出窗口的如果内容发生变化,则<em>点击</em>右上角的关闭按钮时<em>会</em>有提示用户先保存的对话框,但是这个对话框的被第二个弹出窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例<em>中</em>alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -<em>点击</em>提交按钮后变成灰色不可再次<em>点击</em>(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +<em>Tab</em>Strip<em>中</em>放置IFrame<em>会</em>出现渲染错误 (示例在<em>tab</em>strip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的<em>Tab</em>如果不是激活<em>Tab</em>,则不设置Url,只有在激活时才设置Url。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以<em>点击</em>的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的<em>页面</em>使用Asp<em>.net</em> Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx<em>中</em>,<em>点击</em>“Ajax查询”按钮和关闭弹出的窗口(<em>点击</em>右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其<em>中</em>放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel<em>中</em>放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp<em>.net</em> ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel<em>中</em>使用,示例在ajax1.aspx/content_ajax2.aspx<em>中</em>。 -对于使用布局构建的<em>页面</em>(比如content_page1.aspx)还不能使用Asp<em>.net</em> ajax,因为<em>页面</em>是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +关闭前提示当前<em>页面</em>已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角关闭按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe<em>中</em><em>做</em>法一致)。 +iframe<em>中</em>的alert/confirm要覆盖整个父<em>页面</em>,而不仅仅是iframe<em>页面</em>。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -<em>Tab</em>Strip的<em>Tab</em><em>中</em>如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel<em>中</em>放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDa<em>tab</em>asePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不<em>会</em>变化 [feedback:zgjiang2]。[fixed] -关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要弹出对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的<em>tab</em>)。[fixed] +<em>页面</em><em>中</em>任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角关闭按钮的提示保存功能。 -Master/Content的内容页<em>中</em>Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid<em>中</em>的LinkButtonField设置ConfirmText<em>会</em>出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid<em>中</em>模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选<em>中</em>的值 [feedback:jqpeng]。 -增加PreRowDa<em>taB</em>ound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowda<em>tab</em>ound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体<em>中</em>的</a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/yunengbao/2312818","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/yunengbao/2312818" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/yunengbao/2312818","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>ASP_NET导出<em>Excel</em>数据方法总结</a></div> <a target="_blank" href="https://download.csdn.net/download/yunengbao/2312818" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/yunengbao/2312818","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>ASP_NET导出<em>Excel</em>数据方法总结</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/jackeyliang2010/2686709","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/jackeyliang2010/2686709" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/jackeyliang2010/2686709","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac><em>EXCEL</em>集成工具箱V6.0</a></div> <a target="_blank" href="https://download.csdn.net/download/jackeyliang2010/2686709" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/jackeyliang2010/2686709","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1770997481167_50923\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac><em>Excel</em>集成工具箱6.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右 自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用<em>Excel</em> 2003,则将产生【工具箱】菜单, 包括160多个子菜单;如果您使用<em>Excel</em> 2007或者2010,将产生【集成】与【工具箱】功能区。根据各功能的特点,对子菜单 作了18个分类, 而在函数向导对话框<em>中</em>也生成100个左右新的函数,用于扩展<em>Excel</em>的计算功能。且所有功能都通用于 <em>Excel</em> 2002、2003和2007、2010。支持<em>中</em>英文显示与繁简体操作<em>系统</em>、拥有20多款华丽的皮肤界面,支持<em>Excel</em>2007全面 隐藏选项卡,这个插件还模拟了一个<em>Excel</em>2003样式的菜单,目的就是方便那些从<em>Excel</em>2003转向使用2007或2010版的朋友使用。 =================================================================================================================== 下载地址(集成工具箱本身3.60MB,解压后超过15MB,不含帮助文件): 网盘下载:http://www.brsbox.com/jackeyliang(含帮助,解压超过40MB) 多特软件站下载: http://www.duote.com/soft/1495.html <em>EXCEL</em>集成工具箱V7.0完整版.rar (19.42MB) 绿色软件站下载: http://soft.syue.com/soft/98/99/2010/2010081491963.html <em>EXCEL</em>集成工具箱V7.0完整版.rar 软件屋下载: http://soft.softhouse.com.cn/software/show/76357.html <em>EXCEL</em>集成工具箱V7.0完整版.rar 大观软件站下载: http://guansky.com/soft/html/15828.html <em>EXCEL</em>集成工具箱V7.0完整版.rar IT资讯平台下载: http://download.it168.com/547/1483/index.shtml <em>EXCEL</em>集成工具箱V7.0完整版.rar =================================================================================================================== 本工具箱160个菜单工具的功能介绍如下: 分类 功能名称 功能介绍 繁简转换 【简体转繁体】 将选<em>中</em>区域存储格的简体字批量转换成繁体。 【繁体转简体】 将选<em>中</em>区域存储格的繁体字批量转换成简体。 【综合计算显示】 综合计算并显示选<em>中</em>区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 【GB2转BIG5】 将选<em>中</em>区域存储格的简体字(GB2)批量转换成繁体操作<em>系统</em>的繁体(BIG5)。 【BIG5转GB2】 将选<em>中</em>区域存储格的繁体字(BIG5)批量转换成简体操作<em>系统</em>的简体(GB2)。 完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能<em>会</em>清除一部分背景颜色,但对工作表<em>中</em>的条件格式<em>会</em>作完全保留,丝毫没有影响。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 【选区背景选择】 进行着色功能切换,支持行着色、列着色、行与列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 【条件背景】 默认启动智能着色方式,此功能不<em>会</em>清除背景颜色,但<em>会</em>对工作表<em>中</em>的条件格式作自动清除。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 【条件背景选择】 进行着色功能切换,支持行着色、列着色、行与列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 【高级背景】 将选择的行进行颜色标示,以突出当前行,有利于数据查看。可以随心所欲地定义颜色,还可以自由调整颜色的深浅。本工具相对于同类工具有不破坏背景色、条件格式、复制粘贴和撤消功能之优点。 【高级背景选择】 背景着色的高级功能,支持行着色、列着色、行与列同时着色共3种方式供选择。 快捷取数 【快捷取数列】 随存储格即时移动的快捷数据清单,可取任意区域的数据为唯一值清单,提高数据录入效率。最重要的是清单的最后6项为子程序功能,<em>点击</em>则可以完成增加清单显示宽度,选<em>中</em>或反选所有清单、写清单到任意存储格、重新加载数据等操作。也可以重新加载另外一区域或某几列的数据,也可以重新设定功能的生效存储格范围。 【快捷取日期】 随存储格即时移动的快捷日期数据清单,且有已录入日期的记忆功能。所有快捷取数工具都具有使用30秒钟则自动隐藏功能,用户可以决定是否取消其自动隐藏清单。 【快捷综合取数】 功能较功能更强大,支持同时取6个<em>不同</em>存储格区域(或列)为6个唯一值清单,并在指定的6个<em>不同</em>的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且支持重新加载数据及重设定生效存储格范围。 财 务 工 具 【自动填充】 <em>不同</em>于<em>EXCEL</em>的CTRL+D功能,能对选<em>中</em>的某列数据<em>不同</em>存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee原始数据。极力推荐的工具之一。 【取唯一值】 能瞬间取任意存储格区域的内容为不含重复值的唯一值清单,加载到工具<em>中</em>并提供随时随地调用,具有重复加载与读写的特点。 【添加注解】 可视化地窗体添加与修改注解功能。提供50种美观大方的批注样式供选择,支持图片背景批注与批量写批注。最大的优点是将指定的任意区域按每个存储格内容为一行加入到当前批注<em>中</em>,允许批注内容<em>中</em>是否显示行号。 【连接字符串】 可视化地窗体连接字符串功能。能将最多三个任意区域存储格(或列)的内容按自定的分隔符号连接成一个字符串写入指定的存储格或新工作表<em>中</em>。可以生成含重复值与不含重复值并可选是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表<em>中</em>允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题的行数以及相隔行数、插入行数等。并能动态地显示运行过程,支持程序运行后<em>中</em>途暂停。 【恢复工资条】 能将已生成工资条的工资明细表,快速地还原为初始状态,支持多种参数设定。 【生成数据列】 生成发票号码序列的得力助手,可以生成任意的奇偶数列,差值或倍值或者递增、递减的任意有理数数据序列,支持先行后列与先列后行两种方式,支持瞬时恢复清除。 【取RMB张数】 根据员工的工资计算需要多少张100元、50元......1元的钞票,可以批量累计计算。发现金工资的财务工作者的必备工具之一。 【数字转英文】 将选<em>中</em>区域(默认)或已使用区域存储格的金额数字转换成英文格式显示的表达字符串,为三资企业制作客户外汇付款通知书的理想工具。 【文本转<em>EXCEL</em>】 将文本文件按指定的分隔符号分隔一次性导入到<em>EXCEL</em>文档<em>中</em>。提供两种导入方式。 【<em>EXCEL</em>转文本】 将当前工作表<em>中</em>存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递数据的便利工具之一。并提供两种方式的转换。 成本核算 【取唯一值】 还在使用或功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选<em>中</em>区域的存储格内容为唯一值清单,快捷且高效。 【取产品型号】 功能较在字符串<em>中</em>取数字强大多倍。能批量取某列存储格按指定长度的数字并允许特定数字串的获取,例如M76000,RC76000等。而小于指定长度的数字串则不予获取。 【快速选定数据】 可瞬间选<em>中</em>与用户指定内容相同的当前工作表<em>中</em>所有存储格,方便选定、清除内容或其他操作,支持选<em>中</em>字体彩色是否着色。 【取型号使用范围】 取MATCH的两列数据(Relating Area)<em>中</em>对应MODEL的使用范围(Where Used)。 常 用 工 具 【繁简转换】 可视化的繁简体GB与BGK码以及GB2与BIG5码相互转换,可以复制文本到当前窗体<em>中</em>文本进行转换,也可以实现单个文件或批量文件的转换。在窗体<em>中</em>双击文本字符串尾即可实现自动选定文本并自动复制功能。本工具较同类转换工具准确率达100%。 【背景颜色】 提供可视化的可选择着色方式的背景着色功能,默认启用智能着色。 【文件批量改名】 功能完善的文件或图片批量改名工具。细分为多方式改名,优点明显。例:替换字符串就支持起始长度、替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄<em>中</em>的各工作表批量一次性用指定密码进行锁定与解锁操作。 【工作表隐藏】 对当前工作薄<em>中</em>的各工作表批量一次性进行隐藏与取消隐藏操作。 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为批注背景来插入一个带图片背景的批注。可视化窗体操作,可随时更换批注样式,也支持批量多存储格样式修改。 【插入行数】 对工作表隔行插入行并可以复制标题行,其<em>中</em>对相隔行数、插入行数等可以自定义。 【注解样式】 可以插入多达50种样式的注解,支持随时切换当前注解样式为指定的样式。 【工作表拆分】 将当前工作表的某列数据按指定条件拆分成多个工作表,可以用任意列的数据以及选定的数据<em>做</em>为拆分条件。 【行列奇偶选择】 可视化对当前工作表的行与列进行快速的奇偶行或奇偶列快速选定操作。 【查找与替换】 增强型<em>EXCEL</em>内置查找与替换功能。可以按设置搜索任何字符串(包括*或?符以及公式<em>中</em>包含的某字符),也可以将搜索结果写入到一新的工作表<em>中</em>以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为。其<em>中</em>功能窗体显示区(NoTaskbar)功能可设置本工具启用的窗体图标是否在状态栏显示,并允许切换功能。 扩 展 工 具 【屏幕截图】 可以截取屏幕任意一区域并复制或另存为图片,可随意更改大小,操作灵活性特强。 【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格<em>中</em>,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两时点间的相隔天数等。 【LED时钟与样式】 超漂亮的LED时钟,有默认时钟、蓝色时钟、经典时钟三种样式供选择。 【<em>系统</em>常用工具】 <em>系统</em>常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏<em>Excel</em>2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将工作表<em>中</em>的图表导出为图片保存起来。 【批量导入图片到右列】 批量将图片导入到工作表<em>中</em>对应图片名字的右边。 【将选区转换成图片】 将工作表<em>中</em>的当前选<em>中</em>区域另存为图片。 【一键导出图形】 将工作表<em>中</em>的图片导出为图片文件。 【导入图片到工作表】 将磁盘<em>中</em>的图片导入到工作表<em>中</em>。 【删除选<em>中</em>区域图形】 将工作表<em>中</em>当前选<em>中</em>区域的所有图片与图形删除。 【删除所有导入图形】 将工作表<em>中</em>存在的所有图片与图形瞬间删除。 【批量导入图片】 将指定文件夹或包含子文件夹<em>中</em>所有图片瞬间(也可以按对应名称)按指定图片大小导入<em>EXCEL</em><em>中</em>。允许一次性多图片格式(*.JPG/*.GIF/*.BMP/*.PNG),且支持模糊与非模糊方式导入图片,还可以在导入的图片上显示其文件名称以易于管理。 【批量导出图片】 将<em>EXCEL</em><em>中</em>指定某列<em>中</em>的图片按显示图片大小导出到指定的文件夹<em>中</em>。 批 注 工 具 【插入样式批注】 提供50种花样的批注供选择,可随时更换,且美观大方。 【插入图片批注】 不仅提供多样的批注供选择,且支持批注<em>中</em>加入图片背景。 【批量修改批注】 批量一次性修改选<em>中</em>存储格区域批注的样式。 【批量图片批注】 可批量将图片生成带图片背景的批注。 【批量名称图片批注】 可批量将图片依对应名称生成带图片背景的批注。 【显示与隐藏批注】 显示或隐藏工作表<em>中</em>选<em>中</em>区域的批注。 【可视化批注】 可视化地窗体操作添加与修改注解完整功能。 安全工具 【工作表解密】 可以破解工作表密码和工作簿密码。在不知道密码的前提下找回密码。 【VBA工程解密】 将有密码的VBA工程代码破解,直接<em>打开</em>即可修改代码。相当于VBA工程免密查看。 【隐藏与显示磁盘】 隐藏与显示磁盘本地磁盘盘符(无需重启动)。 【端口进程查询】 查看本机开放的<em>系统</em>端口以及使用该端口的进程一览表。 系 统 工 具 【锁定屏幕】 快捷一键式登出当前用户并锁定电脑,类似于CTRL+ALT+DEL功能。 【<em>系统</em>待机】 使用此功能可以达到节能及锁定电脑一键式进入<em>系统</em>待机状态,再次使用时恢復速度是最快的,一般五秒之內就可以恢復到上次使用状态而无需要重新开机了。 【锁定鼠标】 可即时锁定屏幕鼠标且支持密码锁定,有密码才可以解锁恢复被禁止的所有操作,能屏蔽所有的<em>系统</em>按键如:ALT+F4、CTRL+ALT+DEL、ESC、WIN等,支持桌面锁。 【任务管理器】 增强型的<em>系统</em>任务管理器,提供进程的PID及路径、进程文件属性及详细说明,以及进行结束进程与删除进程及设置LEVEL等操作。 【<em>系统</em>功能信息】 <em>系统</em>功能调用及相关信息,关闭电脑、重启电脑、电脑使用时间、磁盘剩余空间。 【查看IP信息】 查看本机LAN局域网的IP地址以及WAN外部网的公共IP地址(需要接入Internet)。 【显示桌面】 快捷的一键式显示桌面,有时桌面图标找不到时特别有用。 【资源管理器】 快捷的<em>打开</em><em>系统</em>IE资源管理器,便于游览与管理文件夹与文件目录。 【<em>系统</em>分区表】 查看<em>系统</em>分区表与引导区(BOOT)内容,备份起来以防止CIH病毒的破坏。 函数工具 【插入函数】 以对话窗体方式插入类别<em>中</em>大约一百个左右的自订增益函数。 【函数帮助】 提供最常用的绝大多数自订增益函数的详细说明信息。 【函数实例】 以实例文档Function Sample.xls来列举常用自订增益函数的使用方法举例。 快 捷 工 具 【快捷简转繁】 将当前工作表<em>中</em>所有存储格的简体字批量转换成繁体,如果选NO时,则还包括当前工作表<em>中</em>的所有窗体控件<em>中</em>的文本也进行转换。 【快捷繁转简】 将当前工作表<em>中</em>所有存储格的繁体字批量转换成简体,如果选NO时,则还包括当前工作表<em>中</em>的所有窗体控件<em>中</em>的文本也进行转换。 【隐藏非使用区】 对当前工作薄<em>中</em>各工作表未使用区域进行快速隐藏。 【删除空白行】 以当前工作表已使用区域<em>中</em>的空行进行快速删除。 【反向选择】 选择当前选<em>中</em>区域相反的已使用存储格。 【数字转英文】 将当前工作表<em>中</em>所有存储格的金额数字转换成英文格式显示的表达字串,在确认之前可以更改选项以转换为值或用公式表达两种方式供选择。 【删除超级链接】 瞬间删除当前工作薄<em>中</em>所有的超级链接。 【删除工作薄链接】 瞬间删除当前工作薄<em>中</em>所有的地址引用链接。 【工作表目录】 对当前工作簿的所有工作表建立目录与编号,且生成链接,单击可以<em>打开</em>工作表。 【建文件夹目录】 可按选<em>中</em>存储格内容或者当月日期天数值来创建文件夹到指定文件夹<em>中</em>。 【建工作表及目录】 可按选<em>中</em>存储格内容或者当月日期天数值来创建<em>EXCEL</em>文档到指定文件夹<em>中</em>。 【取文件目录】 对指定文件夹<em>中</em>的文件在<em>Excel</em><em>中</em>建立目录,且生成链接,单击可以<em>打开</em>对应的文件。 【IE论坛收藏】 将IE游览器收藏夹<em>中</em>的WEB地址名称及链接写入<em>EXCEL</em><em>中</em>保存起来。 【ABC序列】 为<em>EXCEL</em>生成一个可用鼠标拖值处理的A-Z字母序列,一次生成,重复使用。 【百家姓序列】 为<em>EXCEL</em>生成一个可用鼠标拖值处理的百家姓序列,一次生成,重复使用。 【压缩工作薄】 对当前工作薄进行压缩减肥操作,适当缩小文件大小。 【数字小字转大写】 将选<em>中</em>区域存储格的小写金额批量转换成<em>中</em>文大写金额。 【数字大写转小写】 将选<em>中</em>区域存储格的<em>中</em>文大写金额批量转换成小写金额。 【筛选复制可见】 在筛选状态下,对选<em>中</em>区域复制时不复制已隐藏的内容,支持<em>Excel</em>2003以下版本。 【选<em>中</em>相同值】 可瞬间选<em>中</em>与当前某存储格内容相同的工作表<em>中</em>所有存储格,比多次选<em>中</em>操作省时。 【修复<em>EXCEL</em>】 当您的<em>Excel</em>某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复<em>Excel</em>到默认状态,本功能较同类工具清除更彻底。 合 并 唯 一 值 工 具 【筛选选区唯一值行】 以选择区域左边一列为条件进行唯一值筛选,输入1则删除重复值所在行,输入2则隐藏重复值所在行。 【消除选区重复值】 将选择<em>中</em>重复出现的数据删除,显示唯一值的数据序列。 【突出显示重复值】 将选择<em>中</em>重复出现的数据均以圈号标示出来。 【生成随机不重复值】 在A列生成指定数据范围1-9000000以及上的随机数序列。 【控制单列不重复值】 可控制任意一列(取值1-255表示A-IV列)存储格内容的是否出现重复值,当出现重复值时则自动适时弹出信息提醒,若取消控制(取0或空值)即可。 【可还原之合并】 用此功能对存储格合并后,可在任何时候还原为合并前的状态。 【还原合并数据】 对一列<em>中</em>合并后的单元格取消合并,且恢复合并前所有数据。 【还原合并且填充】 对一列<em>中</em>合并后的单元格取消合并,且用第一个存储格值进行向下与向右填充。 【合并数据并复制】 可以将一个区域的数据直接复制粘贴到一个单元格<em>中</em>。 【合并数据并居<em>中</em>】 合并居<em>中</em>数据,可以保留合并前的所有数据。而且取消合并后可以还原数据,强过<em>Excel</em>自带的合并 居<em>中</em>多倍。 【可视化合并数据】 用显示窗体可视化操作对存储格字符串进行合并连接。 增强插入 【插入FLASH动画】 将Flash动画嵌入到工作表<em>中</em>,并播放,可以随意定制Flash动画的显示大小和位置。动画嵌入工作表<em>中</em>,删除FLASH原文件不影响<em>Excel</em><em>中</em>的效果,且允许是否需要保留Flash的缩放等操作菜单。 【插入GIF动画】 将GIF动画插入到工作表<em>中</em>播放,可以随意定制GIF的大小和位置,删除GIF原文件不影响<em>Excel</em><em>中</em>的效果。 【插入MV动画】 将MV等多媒体动画或电影插入到工作表<em>中</em>播放,可以定制MV视频的大小和位置。 增 益 工 具 【存储格加解密】 对工作表选区的数据进行加密,转换成乱码,有密码才可以查看。第二次执行时即可以恢复数据。理论上支持反复加密,但解密时需用相对应的密码。 【文本文件加密】 对文本TXT文件进行加密与解密操作。 【禁用USB使用】 禁止USB的即插即用功能,防止他人非正常使用外存储设备(无需重启动)。 【启用USB使用】 恢复USB的即插即用功能(无需重启动)。 【清除历史记录】 彻底清除垃圾文件、临时文件、IE缓存、历史记录、升级下载记录、IE地址记录、运行记录等,为<em>系统</em>磁盘赢得更多的剩余空间,较同类清除工具效果更明显。 【修改文件时间】 可随心所欲修改文件的创建、修改、访问时间,包括年月日时分秒,支持修改单个文件、批量文件以及包括子文件夹等多种方式修改。 【下载地址转换】 可在讯雷(Thunder)、网际快车(FlashGet)、QQ旋风(Qqdl)、普通地址(Http)之间相互转换下载地址,这样就无需同时安装多个下载工具了,为下载提供了方便。 【星号密码查看】 拖动图标到任何程序窗体<em>中</em>的密码框上方,即可将其密码显示出来。用IE密码查看器还可查看IE游览器(包括傲游览器)WEB网页<em>中</em>的密码框<em>中</em>的密码。 【程序调试工具】 用作程序自身的DEBUG调试与程序崩溃的自动修复等。 动 画 工 具 【鼠标跟随动画】 非常灵活的鼠标跟随动画,有四种样式自动切换且支持各种显示参数值设定,可以修改参数固定为其<em>中</em>的一种动画方式。 【显示茸茸小兔】 可爱的茸茸小兔显示在屏幕右下角,仿瑞星杀毒软件的卡卡动画。 【启用特效动画】 随鼠标选<em>中</em><em>不同</em>存储格变化而出现的6个绿色自转动环的特效动画,第一次有了“这是在使用<em>EXCEL</em><em>中</em>的功能吗”的惊奇。有随鼠标移动(选YES)与不随鼠标移动两种方式,可以通过禁用此动画。动画工具<em>中</em>的经典之一。 【多个休闲动画】 具有休闲与娱乐于一体的多个动画:喜悦黄鹂、勤劳蜜蜂、经梅迎春、青青竹子、时针指南、葡萄熟了、果实累累、花好月季等。为<em>EXCEL</em>增添一丝喜色。 【关闭所有动画】 一键迅速关闭所有已经<em>打开</em>的休闲动画。 休 闲 工 具 【媒体播放器】 简洁媒体播放器,可<em>打开</em>MP3、MP4、MPG、DVD等几乎所有格式的多媒体文体。 【播放FLASH】 支持<em>打开</em>所有SWF格式的FLASH文件进行播放,可以暂停或按帧播放。 【屏幕放大镜】 可以缩放屏幕任意区域,支持0.5倍、1倍、2倍、3倍、6倍放大效果。 【屏幕画笔】 可以手写并在当前屏幕背景图上圈、点、划、作波浪标记等均可,并可将结果保存为图片文件或插入到<em>Excel</em><em>中</em>,可自定画笔粗细与颜色选择,支持随时清除所有标记。 【俄罗斯方块】 非常经典的俄罗斯方块积分小游戏,支持鼠标操作与键盘方向键(或WSADZ键)两种操作方式,空格与回车键为暂停切换键。 【在线音乐】 非常流行的网络在线音乐播放器,自动加载最近音乐排行榜,也可按名字或歌星搜索到最热的歌曲并加到播放清单<em>中</em>。 开 发 辅 助 【获取<em>系统</em>菜单】 获取VBA编程人员需要的关于菜单及及控件的名称及ID等相关信息。 【生成<em>系统</em>图标A】 VBA编程人员常用的工具。可以每页500项查询<em>Excel</em>内部图标及FaceId。 【生成<em>系统</em>图标B】 VBA编程人员常用的工具。增强查询与写<em>Excel</em>内部图标的ID号于空白的工作表<em>中</em>。 【显示基本颜色值】 显示最基本的56种基本颜色ID、名称与相对应的RGB颜色值以及网页颜色值。 【删除注释行】 可以瞬间清除当前工作薄<em>中</em>的所有模块、类模块及VBA子程序<em>中</em>的所有注释语句。 定制开发 【定制功能模块】 根据客户需求定制开发的模块功能:Aging库存报表、ERP存货报表、BOM表整理、标签制作、付款通知书、报表格式转换等。 帮助工具 【集成工具箱】 关于本工具必要帮助以及作者(梁瑞春)的EMAIL、个人主页、联系方式等相关信息。 【<em>中</em>英文显示】 支持繁简体操作<em>系统</em>,以及多语言显示:<em>中</em>文简体(黙认)、<em>中</em>文繁体、英文显示。 【更换皮肤】 支持窗体界面的皮肤切换,具有二十多款超漂亮的皮肤包供免费选择。 【仿2003样式菜单】 开始使用2007版朋友来说,有很大的不适应。这个插件模拟了一个<em>Excel</em>2003样式的菜单,目的就是方便那些从<em>Excel</em>2003转向使用2007或2010版的朋友使用。 100个左右的自订<em>EXCEL</em>内置增益函数: 分类 函数名称 功能介绍 字  符  转  换 GB2BIG5 将存储格的简体字(GB2)转换成真正繁体字(BIG5)。一个参数即单元格引用。 BIG5GB2 将存储格的真正繁体字(BIG5)转换成简体字(GB2)。一个参数即单元格引用。 JianToFan (JtoF) 将存储格的简体字(GB2)转换成繁体字(GBK)。一个参数即单元格引用。 FanToJian (FtoJ) 将存储格的繁体字(GBK)转换成简体字(GB2)。一个参数即单元格引用。 ColumnNumber 将某字符所表示的列(或某单元格引用)转换为数字形式所表于的列号。一个参数取值范围为A--AZ。例如: ColumnNumber("AZ")=52表示为第52列。 ColumnText 将某数字所表示的列号(或某单元格引用)转换为字符形式所表于的列。一个参数取值范围为1--702。例如: ColumnText(256)=IV表示为IV列。 NumUpper 将存储格的小写数字金额转换为<em>中</em>文大写金额。一个参数即单元格引用。 NumLower 将存储格的<em>中</em>文大写金额转换为小写数字金额。一个参数即单元格引用。 NumtoEnglish 将存储格的小写金额转换为英文字符串表示的金额。第一个参数即单元格引用,第二个参数可省略,最标准的英文表达方式。 SpellNumber 将存储格的小写金额转换为英文字符串表示的金额。一个参数即单元格引用,适合美国美元表达习惯。 TextReverse 反转(倒置)文本字符串函数。一个参数即字符串表达式或单元格引用。 字  符  操  作 ChineseBiHua 取存储格的<em>中</em>文汉字的笔画。一个参数即单元格引用或<em>中</em>文汉字字符串。 Found 查找某字符在某字符串表达式的位置。第一个参数为要查找的字符串,第二个参数为字符串表达式或单元格引用,第三个参数为查找到的第N个字符串,若省略则表示查找第1个字符串。例如:Found("A","ABCDAEFGHAAA",3)=10 GetModelNumber 取产品MODEL型号。第一个参数为产品的英文数字描述的字串,第2个参数为指定MODEL型号的长度(默认为4),第3个参数为MODEL型号间的分隔符号,可任意。 GetMoneyPcs 取存储格的数字金额<em>中</em>包含对应人民币面额(100/50/20/10/5/2/1等)的张数。第一个参数即单元格引用,第二个参数为人民币(RMB)面额。 GetTax 计算个人所得税工具。第一个参数为计税总额,第二个参数为扣除数额。 GetTypeValue 将存储格的内容按需求进行字符分离与表达式计算。第一个参数即单元格引用,第二个参数即类型取值范围为1-10(1-只保留数字. 2-只保留字母. 3-只留<em>中</em>文(包含空格). 4-只保留数字和小数点. 5-只保留数字和运算符号+-*/^. 6-只保留字母和数字. 7-去掉数字. 8-去除英文大小写字符. 9-去除<em>中</em>文. 10-这里指去除所有空格符)。 HZtoPY 将存储格的内容<em>中</em>的<em>中</em>文汉字转换为拼音。第一个参数为单元格引用,第二个参数为是否只对汉字转换(1或0),第三个参数为间隔符号。后面两个参数可以省略。 NumInt 将存储格的数字金额转换为按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例如:NumInt(9825.65,5)=9825, NumInt(9825.65,10)=9830。面值参数越大差异越大。 NumIntDown 将存储格的数字金额转换为向下按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例: NumIntDown(9825.65,5)=9820, NumIntDown(9825.65,10)=9820。面值参数越大差异越大。 NumIntUp 将存储格的数字金额转换为向上按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例如:NumIntUp(9825.65,5)=9830, NumIntUp(9825.65,10)=9830。面值参数越大差异越大。 ReplaceIn 字符替换含数。第一个参数为字符串表达式或单元格引用,第二个参数为要查找的字符串,第三个参数为新替换的字符串,第四个参数为从找到的第N个字符开始替换。 RightFind 从右向左查找字符串的函数。例如:RightFind("BCADEA","A")=6 存 储 格 操 作 ClearBlank 消除空值函数。可以选择多行多列,按先行后列之方式返回值.两个参数,第一个参数为存储格区域引用,第二个参数为需要取数的序号(1--N)。 ColorCount 取存储格范围内某颜色值的存储格个数。第一个参数为储格范围引用,第二个参数为某颜色Index值或某单元格引用。 ColorSum 按背景颜色对区域值求和。第一参数为求和区域,第二参数为背景颜色参照值。 FormulaView 显示公式函数。提取单元格<em>中</em>的公式,第一个参数单元格引用,第二个参数可省略。 GradeAverage 评委评分函数。计算引用存储格区域<em>中</em>去除最大值与最小值之后再求平均数。 GetFolderPathName 用于创建带链接的文件目录,有二个参数,第一参数为指定路径的字符串,第二参数指定取值编号(数字序号1--N)。 GetComment 提取存储格批注<em>中</em>的文字。只有一个参数,即单元格引用。 CommonItem 返回两个存储格区域的共有项目。前两个参数为区域,第三参数为取数序号1--N。 VarianceItem 返回第一区域<em>中</em>有而第二区域没有的项目。前两个参数是区域,第三参数为序号。 SplitGetValue 按分割符取数。第一参数为单元格引用,第二参数表示取第N个字符串,第三个参数表示分割符号,可任意字符。 UnionString 将区域字符进行合并。第一参数为分割符,第二参数为引用区域。可以用""表示不使用分割符。第三参数开始为引用区域,可以有1到254个区域(<em>Excel</em>2003<em>中</em>是1到29个)。也还可以直接用文本<em>做</em>参数。 普通函数 BookName 取工作薄名称目录。一个参数,输入工作薄序号即返回相应工作薄名称。 SheetName 取工作表名称目录。一个参数,输入工作表序号即返回相应工作表名称。 GoldPoint 数学<em>中</em>黄金分割点的精确取值。 PI 数学<em>中</em>PI(π)的精确取值。PI=3.1415926535897932384626433832795. <em>系统</em>函数 Close<em>Excel</em> 不保存当前文档而直接退出<em>EXCEL</em>。 ComputerChangeName 更改计算机名称。一个参数即任意的名称字符串。 ComputerLock 电脑进入登出锁定状态。一个可选参数可以省略。 ComputerSleep 电脑进入待机休眠状态。一个可选参数可以省略。 USB USB盘的禁用与恢复启用。一个字符串参数即Enabled为启用,Disabled为禁用。 对于无法安装的朋友请注意以下4点 : 一:必须是完整版OFFICE,不能是绿色版、精简版,它们不支持COM加载宏. 二:必须关闭<em>Excel</em>状态下安装或者删除工具,安装后重启<em>Excel</em>即可. 三:如果是VISTA或WIN 7,必须以管理员用户安装,且从控制面板<em>中</em>关掉用户帐户控制(UAC)功能. 四:如果您装了其它的<em>EXCEL</em>工具,请先关掉它,它们有可能删除本工具的菜单. 安装方法:(也可参考安装说明.TXT文档) 安装说明与使用规则: 1.1.绿色版本安装:管理员用户运行Setup.exe进行安装程序! 运行UnSetup.exe进行反安装程序! 1.2.绿色版本安装:非管理员用户可运行Register.bat进行安装程序! 运行UnRegister.bat进行反安装程序! 2.1.若安装并使用后因误操作报错时(例如<em>EXCEL</em><em>打开</em>后未能加载工具菜单),可以卸载后重新安装到另外<em>不同</em>的目录<em>中</em>即可恢复正常.(因微软COM的保护措施而致)! 2.2.建议每天只<em>打开</em><em>EXCEL</em>主程序一次为宜,保持<em>打开</em>状态不要关闭.(文档则可任意多次<em>打开</em>). 3.1.由于免费标签插件<em>Excel</em><em>Tab</em>.dll与<em>系统</em>的兼容性问题,安装后在使用过程<em>中</em>若出现屏幕微小抖动或影响正常使用时,请将安装目录Librarys<em>中</em>的<em>Excel</em><em>Tab</em>.dll 文件改名或删除即可! (不过出现的几率为1%左右). 或者请下载后24小时之内将其删除即可,而不<em>会</em>影响本工具箱的功能! 功能使用帮助动画: http://xutu<em>.net</em>/viewfile/2451/N4Jx3Thi/ <em>EXCEL</em>集成工具箱V7.0使用帮助.rar 需知更多请访问官方论坛: Http://<em>excel</em>tools.5d6d.com  留言或Email给作者。</a></div></div></div></div> <div class="public_pc_right_footer2020" style="display:none;" data-v-4a5a7f56></div></div> <div id="right-floor-user-content_562" data-editor="{"type":"floor","pageId":143,"floorId":562}" class="user-right-floor right-box main-box detail-user-right" data-v-229a00b0><div class="__vuescroll" style="height:100%;width:100%;padding:0;position:relative;overflow:hidden;"><div class="__panel __hidebar" style="position:relative;box-sizing:border-box;height:100%;overflow-y:hidden;overflow-x:hidden;transform-origin:;transform:;"><div class="__view" style="position:relative;box-sizing:border-box;min-width:100%;min-height:100%;"><!----><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="introduce" data-v-4722a3ae><div class="introduce-title" data-v-4722a3ae><div class="img-info" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/DotNET" class="community-img" data-v-4722a3ae><img src="https://img-community.csdnimg.cn/avatar/745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt data-v-4722a3ae> <div title=".NET社区" class="community-name" data-v-4722a3ae> .NET社区 </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="62263" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 62,263 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="668981" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/DotNET" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 668,981 </p> <p class="desc" data-v-4722a3ae> 社区内容 </p></a></div></div> <div class="detail-btns" data-v-4722a3ae><div class="community-ctrl-btns_wrapper" data-v-0ebf603c data-v-4722a3ae><div class="community-ctrl-btns" data-v-0ebf603c><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-160be461 data-v-0ebf603c><div data-report-click="{"spm":"3001.5975"}" data-v-160be461><img src="https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png" alt="" class="img sendTopic" data-v-160be461 data-v-0ebf603c> <span data-v-160be461 data-v-0ebf603c>发帖</span></div> <!----> <!----></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png" alt="" class="img me" data-v-0ebf603c> <span data-v-0ebf603c>与我相关</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png" alt="" class="img task" data-v-0ebf603c> <span data-v-0ebf603c>我的任务</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div class="community-share" data-v-4ca34db9 data-v-0ebf603c><div class="handle-item share" data-v-ca030a68 data-v-4ca34db9><span height="384" data-v-ca030a68><div role="tooltip" id="el-popover-7229" aria-hidden="true" class="el-popover el-popper popo share-popover" style="width:265px;display:none;"><!----><div id="tool-QRcode" class="QRcode" data-v-ca030a68><img src="https://csdnimg.cn/release/cmsfe/public/img/shareBg3.9519d347.png" alt="" class="share-bg" data-v-ca030a68> <div class="share-bg-box" data-v-ca030a68><div class="share-content" data-v-ca030a68><img src="https://img-community.csdnimg.cn/avatar/745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt="" class="share-avatar" data-v-ca030a68> <div class="share-tit" data-v-ca030a68>.NET社区</div> <div class="share-dec" data-v-ca030a68>.NET技术交流专区</div> <span class="copy-share-url" data-v-ca030a68>复制链接</span> <div class="shareText" data-v-ca030a68> </div></div> <div class="share-code" data-v-ca030a68><div class="qrcode" data-v-ca030a68></div> <div class="share-code-text" data-v-ca030a68>扫一扫</div></div></div></div> </div><span class="el-popover__reference-wrapper"><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png" alt="" class="img share" data-v-0ebf603c> <span data-v-0ebf603c>分享</span></div></span></span></div> <!----></div></div></div> <!----> <div data-v-4fb59baf data-v-0ebf603c><div class="el-dialog__wrapper ccloud-pop-outer2" style="display:none;" data-v-4fb59baf><div role="dialog" aria-modal="true" aria-label="dialog" class="el-dialog el-dialog--center" style="margin-top:15vh;width:70%;"><div class="el-dialog__header"><span class="el-dialog__title"></span><!----></div><!----><div class="el-dialog__footer"><span class="dialog-footer clearfix" data-v-4fb59baf><div class="confirm-btm fr" data-v-4fb59baf>确定</div></span></div></div></div></div></div></div></div> <div style="display:none;" data-v-4722a3ae data-v-4722a3ae><!----> <div class="introduce-desc" data-v-4722a3ae><div class="introduce-desc-title" data-v-4722a3ae>社区描述</div> <span data-v-4722a3ae> .NET技术交流专区 </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><span class="label" data-v-4722a3ae>javascript</span><span class="label" data-v-4722a3ae>云原生</span> <span class="label" data-v-4722a3ae>企业社区</span> <!----></div></div> <!----> <div class="manage" data-v-4722a3ae><div class="manage-inner" data-v-4722a3ae><span data-v-4722a3ae>社区管理员</span> <ul data-v-4722a3ae><li data-v-4722a3ae><a href="https://blog.csdn.net/community_93" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="ASP.NET" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/dotnetconf" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt=".Net开发者社区" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/weixin_41960540" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/aa17748a52c84d88ba031f9895a4ea32_weixin_41960540.jpg!1" alt="R小R" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li></ul></div></div> <div class="actions" data-v-4722a3ae><!----> <div style="flex:1;" data-v-4722a3ae><div class="join-btn" data-v-4722a3ae> 加入社区 </div></div> <!----> <!----></div> <div class="el-dialog__wrapper" style="display:none;" data-v-38c57799 data-v-4722a3ae><div role="dialog" aria-modal="true" aria-label="获取链接或二维码" class="el-dialog join-qrcode-dialog" style="margin-top:15vh;width:600px;"><div class="el-dialog__header"><span class="el-dialog__title">获取链接或二维码</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><span class="dialog-footer" data-v-38c57799></span></div></div></div> <div class="collapse-btn" data-v-4722a3ae><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAgCAYAAACFM/9sAAAAAXNSR0IArs4c6QAAAi1JREFUaEPtl01u01AUhc+N8wMSO4AxzJAqwQpKQsdtbMOICmKnwCKQ2ACDIgotrYKiduIiVZ10B0CBAjtAbICfooomJr3IcUoTiVLb15GNuG/67nm65/M5AxP0iAiQSK1iKEBhCBSgAhQSEMo1gQpQSEAo1wQqQCEBoVwT+K8CnLnWvER8cOHMaf95q9Xaj+vDtp3LPeD83u6p9a2t+U5cfVrzmSTQNOfOgg4+ATDAeNHp/Jza3Fz5HtWUZbl3GXjYn2e+53lL96Nq057LBOD0dOOcUSx8BFAcGHpZLlWmVlfnd08yaJrubRAe/Z77HwEG5kdS1E8StgFc9bzFb8dBrNtukxgLwOAXNEF6T/pAce8zSeDhknXbuUNMQRUHe/BrMNX+BNGyHIdBT45m6VVn36/FqX5cOFHmMwUYJrE5x+CgkuEujLe+361ubLS+HhowzeYtEC8NzWyXy5ValMpHgSCZyRxgsLxpui4Ij4/ShZ1S0aiurS18sSznJoOeDt29AaP6t6pLgMTV5gJgsHTddhvEWBwC9Y6AZww8AFA4Lp1xDac9nxuAYZ37aQuqGgIbPTt+t3tluNppw0jyXq4AhnV2ZkG0PAKR8b5UMiaDSicxOU5N7gCGSXRvMLAygPgB3Jv0vOXP4wSR9O1cAgzMzFxvXDR6hYlK5cd6u93eS2pw3LrcAhy38bTeV4BCkgpQAQoJCOWaQAUoJCCUawIVoJCAUK4JVIBCAkL5L1yapyGdIBwvAAAAAElFTkSuQmCC" alt data-v-4722a3ae></div></div><!----><!----><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor-user-right-rank" data-v-3d3affee><div class="el-tabs el-tabs--top" data-v-3d3affee><div class="el-tabs__header is-top"><div class="el-tabs__nav-wrap is-top"><div class="el-tabs__nav-scroll"><div role="tablist" class="el-tabs__nav is-top" style="transform:translateX(-0px);"><div class="el-tabs__active-bar is-top" style="width:0px;transform:translateX(0px);ms-transform:translateX(0px);webkit-transform:translateX(0px);"></div></div></div></div></div><div class="el-tabs__content"><div role="tabpanel" id="pane-integral" aria-labelledby="tab-integral" class="el-tab-pane" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-3" aria-labelledby="tab-3" class="el-tab-pane" style="display:none;" data-v-3d3affee></div></div></div> <div class="floor-user-right-rank-score" data-v-608528ce data-v-3d3affee><div class="floor-user-right-rank-score-tabs" data-v-608528ce><ul data-v-608528ce><li data-v-608528ce> 近7日 </li><li data-v-608528ce> 近30日 </li><li class="active" data-v-608528ce> 至今 </li></ul></div> <div class="floor-user-right-rank-common" data-v-46cf600d data-v-608528ce><div class="rank-list" data-v-46cf600d><!----> <div class="no-data loading" data-v-46cf600d><i class="el-icon-loading" data-v-46cf600d></i> <p data-v-46cf600d>加载中</p></div> <!----> <a href="https:///DotNET/rank/list/total" target="_blank" class="show-more" data-v-46cf600d> 查看更多榜单 </a></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor comunity-rule" data-v-3cfa4dbd><div class="title" data-v-3cfa4dbd> 社区公告 </div> <div class="contain" data-v-3cfa4dbd><div class="inner-content" data-v-3cfa4dbd><p>.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。</p> <p>希望和大家一起共同营造一个活跃、友好的社区氛围。</p> </div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="user-right-adimg empty-arr" data-v-15c6aa4f><div class="adImgs" data-v-2a6389b9 data-v-15c6aa4f><!----> <div data-v-2a6389b9><!----></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" class="ai-entrance" data-v-eb1c454c><p data-v-eb1c454c>试试用AI创作助手写篇文章吧</p> <div class="entrance-btn-line" data-v-eb1c454c><a href="https://mp.csdn.net/edit?guide=1" target="_blank" data-report-click="{"spm":"3001.9712"}" data-report-query="spm=3001.9712" class="entrance-btn" data-v-eb1c454c>+ 用AI写文章</a></div></div></div></div></div></div></div></div></div></div> <!----></div></div></div> <div> <script type="text/javascript" src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" defer></script> </div></div></div><script> window.__INITIAL_STATE__= {"csrf":"888w9go8-BzHxljNjLvv0n-eQDZ-nE_7jdFY","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_36287181620-1770997424474-546937; csrfToken=rUTik-NdZQoUzuHH3z4fbmzN; dc_session_id=10_1770997424474.555688; dc_sid=e7eb00bc0b641e93b7682e79d26a758a; uuid_tt_dd=10_36287181620-1770997424474-546937","ip":"216.73.216.82","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\", \"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"DotNET","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET","owner":{"userName":"community_93","nickName":"ASP.NET","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":".NET社区","description":".NET技术交流专区","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002F745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image\u002Fresize,m_fixed,h_88,w_88","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":62263,"contentCount":668981,"followersCount":49781,"communityRule":"\u003Cp\u003E.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。\u003C\u002Fp\u003E\n\n\u003Cp\u003E希望和大家一起共同营造一个活跃、友好的社区氛围。\u003C\u002Fp\u003E\n","communityId":211,"bgImage":"","hashId":"2lwpzdnk","domain":"","uriName":"DotNET","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":2,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"hideLeftSideBar":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_93","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":[{"id":190,"name":"javascript"},{"id":400064,"name":"云原生"}],"customTags":[{"id":1,"name":"企业社区"}]}},"tabList":[{"tabId":862,"tabName":"问答","tabUrl":"https:\u002F\u002Fask.csdn.net\u002Flist\u002F3\u002Ftag\u002F576","tabSwitch":1,"tabType":0,"tabContribute":0,"indexOrder":0,"iframe":true,"sortType":1},{"tabId":20680,"tabName":".NET Conf China","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=20680","iframe":false,"sortType":1},{"tabId":1370,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":2,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=1370","iframe":false,"sortType":1},{"tabId":420,"tabName":"招聘","tabUrl":"","tabSwitch":1,"tabType":3,"tabContribute":0,"indexOrder":3,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=420","iframe":false,"sortType":1},{"tabId":23493,"tabName":"社区公告","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":3,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=23493","iframe":false,"sortType":1},{"tabId":22149,"tabName":"寻找 .NET 技术达人","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":4,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=22149","iframe":false,"sortType":1},{"tabId":714,"tabName":".NET Framework","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":5,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=714","iframe":false,"sortType":1},{"tabId":21249,"tabName":".NET Core","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":6,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21249","iframe":false,"sortType":1},{"tabId":21248,"tabName":"微服务","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":7,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21248","iframe":false,"sortType":1},{"tabId":21250,"tabName":".NET5 \u002F 6","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":8,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21250","iframe":false,"sortType":1},{"tabId":21498,"tabName":".NET技术前瞻","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":9,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21498","iframe":false,"sortType":1},{"tabId":21500,"tabName":"VC","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":10,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21500","iframe":false,"sortType":1},{"tabId":21499,"tabName":".NET技术其他语言","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":11,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21499","iframe":false,"sortType":1},{"tabId":21251,"tabName":"ASP_NET","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":12,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21251","iframe":false,"sortType":1},{"tabId":21253,"tabName":"EF","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":13,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21253","iframe":false,"sortType":1},{"tabId":21254,"tabName":"EF Core","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":14,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21254","iframe":false,"sortType":1},{"tabId":715,"tabName":"Web Services","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":15,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=715","iframe":false,"sortType":1},{"tabId":717,"tabName":"桌面应用","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":16,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=717","iframe":false,"sortType":1},{"tabId":716,"tabName":"VB","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":17,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=716","iframe":false,"sortType":1},{"tabId":718,"tabName":"图表区","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":18,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=718","iframe":false,"sortType":1},{"tabId":21258,"tabName":"前端","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21258","iframe":false,"sortType":1},{"tabId":4055689,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=4055689","iframe":false,"sortType":1},{"tabId":719,"tabName":"分析与设计","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=719","iframe":false,"sortType":1},{"tabId":1638782,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=1638782","iframe":false,"sortType":1},{"tabId":720,"tabName":"组件\u002F控件开发","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":21,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=720","iframe":false,"sortType":1},{"tabId":721,"tabName":"AppLauncher","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":22,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=721","iframe":false,"sortType":1},{"tabId":21252,"tabName":"圈内交友","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":23,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21252","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":".NET社区","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET","communityType":2,"content":{"id":"60413839","contentId":60413839,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F60413839","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F60413839","createTime":"2004-11-22 12:05:44","updateTime":"2021-05-28 12:32:52","resourceUsername":"limingxy","best":0,"top":0,"text":null,"publishDate":"2004-11-22","lastReplyDate":"2004-11-22","type":"13","nickname":"limingxy","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","username":"limingxy","commentCount":1,"diggNum":0,"digg":false,"viewCount":105,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"在.net做的系统中,用IE打开excel,点击不同tab页面会丢页","insertFirst":false,"likeInfo":null,"description":"在.net做的系统中,用IE打开excel,点击不同tab页面会丢页,请教是什么原因?","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221026062145.png","content":"在.net做的系统中,用IE打开excel,点击不同tab页面会丢页,请教是什么原因?","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F23.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","nickname":"limingxy","selfdesc":"","createdate":"2003-04-16 20:55:00","days":"8340","years":"23","username":"limingxy","school":null,"company":null,"job":null},"userName":"limingxy","event":"创建了帖子","body":"2004-11-22 12:05","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":1,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"帮你顶!","topicTitle":null,"description":"帮你顶!","id":44075279,"contentResourceId":60413839,"bindContentResourceId":0,"communityId":211,"username":"learner01","userNickName":"learner01","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fb1dc628591024f9fa9a2258c259541a1_learner01.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3702477561,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2004-11-22 05:21:34","updateTime":"2004-11-22 05:21:34","formatTime":"2004-11-22","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":20680,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657","title":"ExtAspNet v2.2.1 (2009-4-1) 值得一看","desc":"ExtAspNet v2.2.1\n\t\nExtAspNet是一组专业的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp\u003Cem\u003E.net\u003C\u002Fem\u003E\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-03-28 v2.2.1\n\t+为\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的GetAdd\u003Cem\u003ETab\u003C\u002Fem\u003EReference函数增加重载方法,以便指定\u003Cem\u003ETab\u003C\u002Fem\u003E的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器\u003Cem\u003E打开\u003C\u002Fem\u003E后,不能弹出对话框的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Extjs最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时\u003Cem\u003E页面\u003C\u002Fem\u003E消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件ImageButton具有和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加GetAdd\u003Cem\u003ETab\u003C\u002Fem\u003EReference和GetRemove\u003Cem\u003ETab\u003C\u002Fem\u003EReference两个函数,用来向\u003Cem\u003ETab\u003C\u002Fem\u003EStrip控件动态增加删除\u003Cem\u003ETab\u003C\u002Fem\u003E。\n\t\t-增加示例\u003Cem\u003Etab\u003C\u002Fem\u003Estrip\u002F\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_add\u003Cem\u003Etab\u003C\u002Fem\u003E.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加Enable\u003Cem\u003ETab\u003C\u002Fem\u003ECloseMenu属性,是否启用右键菜单,可用来关闭当前\u003Cem\u003ETab\u003C\u002Fem\u003E和所有其他\u003Cem\u003ETab\u003C\u002Fem\u003E。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-关闭按钮默认直接关闭,不\u003Cem\u003E会\u003C\u002Fem\u003E弹出确认对话框。\n\t\t-GetConfirmFormModifiedHideReference的函数\u003Cem\u003E中\u003C\u002Fem\u003E的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居\u003Cem\u003E中\u003C\u002Fem\u003E,而不是黄金分割位置。\n\t+Button, Window等控件弹出位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference\u003Cem\u003E中\u003C\u002Fem\u003E的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名\u003Cem\u003E中\u003C\u002Fem\u003E不能包含\u003Cem\u003E中\u003C\u002Fem\u003E文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件\u003Cem\u003E中\u003C\u002Fem\u003E不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其\u003Cem\u003E中\u003C\u002Fem\u003E的Close全部改为Hide。\n\t-增加\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003ETab\u003C\u002Fem\u003E控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument\u003Cem\u003E中\u003C\u002Fem\u003EIcon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时\u003Cem\u003E会\u003C\u002Fem\u003E出现空白\u003Cem\u003E页面\u003C\u002Fem\u003E的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window关闭后不能再次\u003Cem\u003E打开\u003C\u002Fem\u003E的BUG(feedback:alexa99)。\n\t-修正了IE下Grid\u003Cem\u003E中\u003C\u002Fem\u003E的一个JS问题(feedback:lqm4108)。\n\t-修正Alert消息\u003Cem\u003E中\u003C\u002Fem\u003E引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正弹出对话框的宽度计算错误(\u003Cem\u003E会\u003C\u002Fem\u003E保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript代码回发父\u003Cem\u003E页面\u003C\u002Fem\u003E(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件\u003Cem\u003E中\u003C\u002Fem\u003E删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加\u003Cem\u003E中\u003C\u002Fem\u003E国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的\u003Cem\u003ETab\u003C\u002Fem\u003E在切换过程\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick\u003Cem\u003E会\u003C\u002Fem\u003E覆盖LinkButtonField, HyperLinkField, CheckBoxField的\u003Cem\u003E点击\u003C\u002Fem\u003E事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,\u003Cem\u003ETab\u003C\u002Fem\u003E等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选\u003Cem\u003E中\u003C\u002Fem\u003E某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选\u003Cem\u003E中\u003C\u002Fem\u003E当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet\u003Cem\u003E中\u003C\u002Fem\u003E的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的关闭按钮提示信息一直是\u003Cem\u003E中\u003C\u002Fem\u003E文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(\u003Cem\u003E会\u003C\u002Fem\u003E在后续版本\u003Cem\u003E中\u003C\u002Fem\u003E逐步完善)。\n\t-v0.2beta2版本\u003Cem\u003E中\u003C\u002Fem\u003E关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件\u003Cem\u003E会\u003C\u002Fem\u003E被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E反映到\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不\u003Cem\u003E会\u003C\u002Fem\u003E请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003ETemplateField生成到\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari提供。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其\u003Cem\u003E中\u003C\u002Fem\u003E包含1700多个小图标。\n\t\t-如果Panel具有IconUrl属性,则IconUrl优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出确认对话框,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加\u003Cem\u003E点击\u003C\u002Fem\u003E确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E新\u003Cem\u003E页面\u003C\u002Fem\u003E,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp\u003Cem\u003E.net\u003C\u002Fem\u003E\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选\u003Cem\u003E中\u003C\u002Fem\u003E任何一项时在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出对话框的JS代码。\n\t-修正IE7下不能以下划线作为CSS\u003Cem\u003E中\u003C\u002Fem\u003E类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请求。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为\u003Cem\u003E页面\u003C\u002Fem\u003E的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0\u003Cem\u003E中\u003C\u002Fem\u003E所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其\u003Cem\u003E中\u003C\u002Fem\u003E添加自己的语言版本,并执行js\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口。\n\t+在aspx\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E必须显示的声明控件的集合属性(比如\u003Cem\u003ETab\u003C\u002Fem\u003Es(\u003Cem\u003ETab\u003C\u002Fem\u003EStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将\u003Cem\u003E会\u003C\u002Fem\u003E影响所有的aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp\u003Cem\u003E.net\u003C\u002Fem\u003E AJAX\u003Cem\u003E中\u003C\u002Fem\u003E使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管\u003Cem\u003ETab\u003C\u002Fem\u003EStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将\u003Cem\u003E会\u003C\u002Fem\u003E影响所有的aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config\u003Cem\u003E中\u003C\u002Fem\u003E修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp\u003Cem\u003E.net\u003C\u002Fem\u003E compatibility\u003Cem\u003E中\u003C\u002Fem\u003E的示例无法完成,现在已经修正。\n\t+去除PageManager\u003Cem\u003E中\u003C\u002Fem\u003E方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp\u003Cem\u003E.net\u003C\u002Fem\u003E compatibility\u003Cem\u003E中\u003C\u002Fem\u003E的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid\u003Cem\u003E中\u003C\u002Fem\u003E每个单元格的值了。\n -增加示例-如何将Grid控件导出为\u003Cem\u003EExcel\u003C\u002Fem\u003E(data\\grid_\u003Cem\u003Eexcel\u003C\u002Fem\u003E_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不\u003Cem\u003E会\u003C\u002Fem\u003E被选\u003Cem\u003E中\u003C\u002Fem\u003E(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS\u003Cem\u003E中\u003C\u002Fem\u003Eclass名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,\u003Cem\u003ETab\u003C\u002Fem\u003EStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个\u003Cem\u003E页面\u003C\u002Fem\u003E保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们\u003Cem\u003E做\u003C\u002Fem\u003E了优化,现在要使一个Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮能够AJAX提交,你不需要\u003Cem\u003E做\u003C\u002Fem\u003E任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E设置需要在AJAX\u003Cem\u003E中\u003C\u002Fem\u003E需要更新的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件了。\n\t\t-在Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E设置了哪些需要在AJAX\u003Cem\u003E中\u003C\u002Fem\u003E更新的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp\u003Cem\u003E.Net\u003C\u002Fem\u003E的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp\u003Cem\u003E.Net\u003C\u002Fem\u003E Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向\u003Cem\u003E页面\u003C\u002Fem\u003E,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的IconUrl有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不\u003Cem\u003E会\u003C\u002Fem\u003E对IE6.0提供支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成extjs最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();\u003Cem\u003E会\u003C\u002Fem\u003E导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个\u003Cem\u003E页面\u003C\u002Fem\u003E只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS\u003Cem\u003E会\u003C\u002Fem\u003E紧挨着\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Ctitle\u003E标签引入,这样在\u003Chead\u003E\u003Cem\u003E中\u003C\u002Fem\u003E自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert对话框\u003Cem\u003E会\u003C\u002Fem\u003E遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选\u003Cem\u003E中\u003C\u002Fem\u003E第一项。\n\t-重新绑定模拟树的下拉列表后,选\u003Cem\u003E中\u003C\u002Fem\u003E项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed]\n\t-Window\u003Cem\u003E中\u003C\u002Fem\u003E的EnableIFrame==false,则\u003Cem\u003E点击\u003C\u002Fem\u003E关闭按钮时报JS错误。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E包含FileUpload控件,需要\u003Cem\u003E点击\u003C\u002Fem\u003E按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果弹出的窗口(Ext-Window)含有ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件FileUpload,则此弹出窗口在关闭时出现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E存在ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件(TextBox),则第二次提交表单就\u003Cem\u003E会\u003C\u002Fem\u003E报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E上放置ExtAspNet-Button和ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E-Button,则\u003Cem\u003E点击\u003C\u002Fem\u003EExtAspNet-Button时激发的是ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E-Button的事件,这个BUG和Extjs2.2.1\u003Cem\u003E中\u003C\u002Fem\u003EExt.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程\u003Cem\u003E中\u003C\u002Fem\u003E使用ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E标准控件和平共处了。[fixed]\n\t\t-如果一个ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新\u003Cem\u003E页面\u003C\u002Fem\u003E重试。”。[fixed]\n\t-自动测试功能\u003Cem\u003E会\u003C\u002Fem\u003E在以后版本\u003Cem\u003E中\u003C\u002Fem\u003E逐步完善。这个版本完成测试框架,采用Extjs\u003Cem\u003E中\u003C\u002Fem\u003EJS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+\u003Cem\u003E系统\u003C\u002Fem\u003E底层代码优化(主要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类\u003Cem\u003E中\u003C\u002Fem\u003E的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext\u003Cem\u003E中\u003C\u002Fem\u003E的GetConfirmFormModifiedReference,使用CurrentActiveWindow\u003Cem\u003E中\u003C\u002Fem\u003E的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不\u003Cem\u003E会\u003C\u002Fem\u003E修改弹出\u003Cem\u003E页面\u003C\u002Fem\u003E的URL(Ext-Window\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame),以前为了实现功能为每个弹出\u003Cem\u003E页面\u003C\u002Fem\u003E添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E查找RegisterPageStateChangedScript属性,并删除,否则\u003Cem\u003E会\u003C\u002Fem\u003E运行错误!\n\t\t-A\u003Cem\u003E页面\u003C\u002Fem\u003E有Ext-Window控件弹出B\u003Cem\u003E页面\u003C\u002Fem\u003E,B\u003Cem\u003E页面\u003C\u002Fem\u003E有Ext-Window控件弹出C\u003Cem\u003E页面\u003C\u002Fem\u003E,B\u003Cem\u003E页面\u003C\u002Fem\u003E的Ext-Window控件设置Target='_parent',则弹出的Ext-Window(C\u003Cem\u003E页面\u003C\u002Fem\u003E)\u003Cem\u003E会\u003C\u002Fem\u003E覆盖整个A\u003Cem\u003E页面\u003C\u002Fem\u003E,这是正确的。\n\t\t---当时如果用户直接访问B\u003Cem\u003E页面\u003C\u002Fem\u003E,就\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误,因为此时找不到B\u003Cem\u003E页面\u003C\u002Fem\u003E的父\u003Cem\u003E页面\u003C\u002Fem\u003EA了。现在的版本修正为如果找不到父\u003Cem\u003E页面\u003C\u002Fem\u003E,则就在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口,这样用户直接访问B\u003Cem\u003E页面\u003C\u002Fem\u003E也不\u003Cem\u003E会\u003C\u002Fem\u003E出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单改变,然后关闭弹出窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭弹出Ext-Window,再然后刷新父\u003Cem\u003E页面\u003C\u002Fem\u003E或回发父\u003Cem\u003E页面\u003C\u002Fem\u003E”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。\n\t\t---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父\u003Cem\u003E页面\u003C\u002Fem\u003E或者关闭后回发父\u003Cem\u003E页面\u003C\u002Fem\u003E的行为。\n\t\t-如果弹出窗口(Window控件)\u003Cem\u003E中\u003C\u002Fem\u003EIFrame的\u003Cem\u003E页面\u003C\u002Fem\u003E不能正常加载(网络暂时出错或\u003Cem\u003E页面\u003C\u002Fem\u003E抛出异常),则此时\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的关闭按钮\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误,因为此时\u003Cem\u003E页面\u003C\u002Fem\u003E尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时\u003Cem\u003E页面\u003C\u002Fem\u003E不能加载完全,也能通过右上角的关闭按钮关闭弹出含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的\u003Cem\u003E页面\u003C\u002Fem\u003E,为了保证这些IFrame的name\u003Cem\u003E不同\u003C\u002Fem\u003E,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载时没有不可选择项,则回发时也不\u003Cem\u003E会\u003C\u002Fem\u003E有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E加载过程\u003Cem\u003E中\u003C\u002Fem\u003E的时间信息保存在Javascript变量window.box.timeInfo\u003Cem\u003E中\u003C\u002Fem\u003E。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将\u003Cem\u003E会\u003C\u002Fem\u003E提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选\u003Cem\u003E中\u003C\u002Fem\u003E任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string url, string target),其\u003Cem\u003E中\u003C\u002Fem\u003Etarget可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包\u003Cem\u003E中\u003C\u002Fem\u003E增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E控件的EnablePostBack属性\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此\u003Cem\u003ETab\u003C\u002Fem\u003E都\u003Cem\u003E会\u003C\u002Fem\u003E回发)。[fixed]\n\t\t-有这样一个效果,如果\u003Cem\u003ETab\u003C\u002Fem\u003E1默认显示,\u003Cem\u003ETab\u003C\u002Fem\u003E1的EnablePostBack=true,则\u003Cem\u003E页面\u003C\u002Fem\u003E加载完毕后\u003Cem\u003E会\u003C\u002Fem\u003E回发\u003Cem\u003ETab\u003C\u002Fem\u003E1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选\u003Cem\u003E中\u003C\u002Fem\u003E[feedback:jqpeng]。\n\t\t\t-和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight\u003Cem\u003E会\u003C\u002Fem\u003E自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS\u003Cem\u003E中\u003C\u002Fem\u003E的height\u003Cem\u003E不同\u003C\u002Fem\u003E,CSS\u003Cem\u003E中\u003C\u002Fem\u003E的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS\u003Cem\u003E中\u003C\u002Fem\u003E的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml\u003Cem\u003E会\u003C\u002Fem\u003E被拷贝到bin目录下,提供VS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在子\u003Cem\u003E页面\u003C\u002Fem\u003E(iframe)\u003Cem\u003E中\u003C\u002Fem\u003E通过js切换父\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E选\u003Cem\u003E中\u003C\u002Fem\u003E的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时\u003Cem\u003E会\u003C\u002Fem\u003E出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)\u003Cem\u003E中\u003C\u002Fem\u003E设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只\u003Cem\u003E会\u003C\u002Fem\u003E改变Accordion的标题大小,而不\u003Cem\u003E会\u003C\u002Fem\u003E对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel\u003Cem\u003E中\u003C\u002Fem\u003E的容器,比如ContentPanel需要在外层加上\u003CItems\u003E标签。\n\t\t-适当增大AccordionPanel\u003Cem\u003E中\u003C\u002Fem\u003E链接的高度20px-\u003E22px,同时对链接的样式也\u003Cem\u003E做\u003C\u002Fem\u003E了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX\u003Cem\u003E中\u003C\u002Fem\u003EHTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FToolbar\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form\u003Cem\u003E中\u003C\u002Fem\u003E动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003Es(\u003Cem\u003ETab\u003C\u002Fem\u003ECollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选\u003Cem\u003E中\u003C\u002Fem\u003E项(SelectedRowIndexArray)在ajax回发过程\u003Cem\u003E中\u003C\u002Fem\u003E存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选\u003Cem\u003E中\u003C\u002Fem\u003E项\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E存在当前不存在的行序号,导致服务器端遍历选\u003Cem\u003E中\u003C\u002Fem\u003E项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例\u003Cem\u003E中\u003C\u002Fem\u003E表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm\u003Cem\u003E中\u003C\u002Fem\u003E隐藏一个表单字段(Hidden=false)\u003Cem\u003E会\u003C\u002Fem\u003E占据\u003Cem\u003E页面\u003C\u002Fem\u003E空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX\u003Cem\u003E中\u003C\u002Fem\u003E设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报\u003Cem\u003E中\u003C\u002Fem\u003E可以用自定义样式实现,而不应该写在控件\u003Cem\u003E中\u003C\u002Fem\u003E。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9\u003Cem\u003E中\u003C\u002Fem\u003E布局可供使用。\n\t\t-其\u003Cem\u003E中\u003C\u002Fem\u003E一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002F\u003Cem\u003ETab\u003C\u002Fem\u003EStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002F\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了弹出下级菜单,\u003Cem\u003E点击\u003C\u002Fem\u003E没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性不\u003Cem\u003E会\u003C\u002Fem\u003E渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报\u003Cem\u003E中\u003C\u002Fem\u003E唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通\u003Cem\u003E页面\u003C\u002Fem\u003E转向和ExtAspNetAjax下\u003Cem\u003E页面\u003C\u002Fem\u003E转向。[fixed]\n\t+模拟树的下拉列表的BUG(\u003Cem\u003E会\u003C\u002Fem\u003E使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,\u003Cem\u003ETab\u003C\u002Fem\u003EStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时\u003Cem\u003E会\u003C\u002Fem\u003E出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不\u003Cem\u003E会\u003C\u002Fem\u003E用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件在Ajax不\u003Cem\u003E会\u003C\u002Fem\u003E被更新,所以\u003Cem\u003E会\u003C\u002Fem\u003E导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList\u003Cem\u003E中\u003C\u002Fem\u003E项如果存在汉字,则\u003Cem\u003E会\u003C\u002Fem\u003E换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E如果有ContentPanel,则在\u003Cem\u003E页面\u003C\u002Fem\u003E上方\u003Cem\u003E会\u003C\u002Fem\u003E有空白(可以通过设置EnableDeferredRender=false解决,但\u003Cem\u003E会\u003C\u002Fem\u003E减慢\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不\u003Cem\u003E会\u003C\u002Fem\u003E先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config\u003Cem\u003E中\u003C\u002Fem\u003E增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制\u003Cem\u003E页面\u003C\u002Fem\u003E上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加EnableDeferredRender属性(是否启用延迟加载\u003Cem\u003ETab\u003C\u002Fem\u003E,默认启用)。[fixed]\n\t-重定向\u003Cem\u003E页面\u003C\u002Fem\u003E,使用\u003Cem\u003E系统\u003C\u002Fem\u003E的方法 PageContext.Redirect(string url),使用Response.Redirect方法\u003Cem\u003E会\u003C\u002Fem\u003E出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上\u003Cem\u003E会\u003C\u002Fem\u003E有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,\u003Cem\u003E系统\u003C\u002Fem\u003E提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不\u003Cem\u003E会\u003C\u002Fem\u003E对UI起作用,同时是安全的,不\u003Cem\u003E会\u003C\u002Fem\u003E有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表\u003Cem\u003E页面\u003C\u002Fem\u003E)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否弹出的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高\u003Cem\u003E页面\u003C\u002Fem\u003E回发的速度(相比普通的回发和Asp\u003Cem\u003E.net\u003C\u002Fem\u003EAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要\u003Cem\u003E做\u003C\u002Fem\u003E任何配置,所有的回发都是Ajax(在Web.config和PageManager\u003Cem\u003E中\u003C\u002Fem\u003E有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的\u003Cem\u003E点击\u003C\u002Fem\u003E一个按钮弹出窗口,可以在Button的OnClick事件\u003Cem\u003E中\u003C\u002Fem\u003E设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的\u003Cem\u003E做\u003C\u002Fem\u003E法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性\u003Cem\u003E会\u003C\u002Fem\u003E有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载标示和Ajax加载标示,默认都为true),所以如果使用\u003Cem\u003E系统\u003C\u002Fem\u003E默认的加载标示就不必每个\u003Cem\u003E页面\u003C\u002Fem\u003E都添加PageLoading控件。[fixed]\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选\u003Cem\u003E中\u003C\u002Fem\u003E的状态在回发后\u003Cem\u003E会\u003C\u002Fem\u003E得到保持。[fixed]\n\t-Grid选\u003Cem\u003E中\u003C\u002Fem\u003E行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar\u003Cem\u003E会\u003C\u002Fem\u003E对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父\u003Cem\u003E页面\u003C\u002Fem\u003E加载一个比较大的css文件(~100k),则每次\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u003Cem\u003E页面\u003C\u002Fem\u003E,onload事件的调用都\u003Cem\u003E会\u003C\u002Fem\u003E有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003EIFrame的显示速度。[fixed]\n\t\t-在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口需要~20ms,在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口需要100~300ms。通过缓存弹出的窗口实例,从而第二次弹出窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报\u003Cem\u003E中\u003C\u002Fem\u003E需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config\u003Cem\u003E中\u003C\u002Fem\u003E设置(推荐方法),也可以为每个\u003Cem\u003E页面\u003C\u002Fem\u003E设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置\u003Cem\u003E不同\u003C\u002Fem\u003E的皮肤(根据用户浏览器\u003Cem\u003E中\u003C\u002Fem\u003ECookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示\u003Cem\u003E点击\u003C\u002Fem\u003E可切换节点的折叠展开状态。[fixed]\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E延迟渲染。[fixed]\n\t\t-这\u003Cem\u003E会\u003C\u002Fem\u003E明显加快\u003Cem\u003E页面\u003C\u002Fem\u003E的渲染速度,网报\u003Cem\u003E中\u003C\u002Fem\u003E一个典型的费用审批\u003Cem\u003E页面\u003C\u002Fem\u003E可以减少200ms的渲染时间。\n\t\t-由于非当前\u003Cem\u003ETab\u003C\u002Fem\u003E不\u003Cem\u003E会\u003C\u002Fem\u003E在\u003Cem\u003E页面\u003C\u002Fem\u003E加载时渲染,所以那些\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的节点在\u003Cem\u003E页面\u003C\u002Fem\u003E加载后也是不可见的,需要将相关的脚本移动到控件的render事件\u003Cem\u003E中\u003C\u002Fem\u003E。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip延迟加载引起的BUG(非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的ContentPanel\u003Cem\u003E会\u003C\u002Fem\u003E占据\u003Cem\u003E页面\u003C\u002Fem\u003E空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E使用父\u003Cem\u003E页面\u003C\u002Fem\u003E的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout\u003Cem\u003E中\u003C\u002Fem\u003E显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E含有iframe时,Ext.onReady\u003Cem\u003E会\u003C\u002Fem\u003E被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs\u003Cem\u003E.net\u003C\u002Fem\u003E\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发\u003Cem\u003E页面\u003C\u002Fem\u003E再弹出IFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。\n\t\t-另一种\u003Cem\u003E做\u003C\u002Fem\u003E法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E关闭窗口的按钮,在IE6下\u003Cem\u003E会\u003C\u002Fem\u003E有JS错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form\u003Cem\u003E中\u003C\u002Fem\u003E添加FormRow,并动态的向FormRow\u003Cem\u003E中\u003C\u002Fem\u003E添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame弹出窗口关闭后回发父\u003Cem\u003E页面\u003C\u002Fem\u003E,则\u003Cem\u003E会\u003C\u002Fem\u003E多加载IFrame一次,再次\u003Cem\u003E打开\u003C\u002Fem\u003E窗口\u003Cem\u003E会\u003C\u002Fem\u003E重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,\u003Cem\u003E会\u003C\u002Fem\u003E严重影响\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度。原因是通过脚本改变的IFrameUrl\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持状态,从而回发父\u003Cem\u003E页面\u003C\u002Fem\u003E后Window\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame被添加到\u003Cem\u003E页面\u003C\u002Fem\u003E,而这是不需要的。\n\t\t-现在\"是否弹出窗口、窗口标题、IFrameUrl\"在客户端的改变,不\u003Cem\u003E会\u003C\u002Fem\u003E影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E关闭窗口的按钮,在IE下\u003Cem\u003E会\u003C\u002Fem\u003E有JS错误。[fixed]\n\t-Window的右上角关闭图标增加提示,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u002Fdefault.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,\u003Cem\u003E点击\u003C\u002Fem\u003Eiframe\u002Fpage3.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E8次后iexplorer占118.792M内存。\n\t\t-修正后,\u003Cem\u003E点击\u003C\u002Fem\u003Eiframe\u002Fpage3.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE\u003Cem\u003E会\u003C\u002Fem\u003E自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+\u003Cem\u003E页面\u003C\u002Fem\u003E正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行js来完成\u003Cem\u003E页面\u003C\u002Fem\u003E渲染之前延迟5ms,以便浏览器把当前\u003Cem\u003E页面\u003C\u002Fem\u003E内容显示出来。\n\t\t-加载js脚本的script标签放置在\u003Cem\u003E页面\u003C\u002Fem\u003E的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip延时加载出错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的\u003Cem\u003E页面\u003C\u002Fem\u003E应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则\u003Cem\u003E会\u003C\u002Fem\u003EJS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在\u003Cem\u003E页面\u003C\u002Fem\u003E显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请\u003Cem\u003E页面\u003C\u002Fem\u003E(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认\u003Cem\u003E会\u003C\u002Fem\u003E加载form.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E(Window控件的BUG)。[fixed]\n\t-Window\u003Cem\u003E中\u003C\u002Fem\u003E的保存并关闭按钮和Asp\u003Cem\u003E.net\u003C\u002Fem\u003EAjax冲突。[fixed]\n\t-优化关闭Window的js脚本,减少写到\u003Cem\u003E页面\u003C\u002Fem\u003E的js大小。[fixed]\n\t-加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快\u003Cem\u003E页面\u003C\u002Fem\u003E加载速度(一个典型\u003Cem\u003E页面\u003C\u002Fem\u003E的js由原来的33.0k降低为21.4k)。[fixed]\n\t+弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003E,\u003Cem\u003E点击\u003C\u002Fem\u003E按钮回发然后\u003Cem\u003E点击\u003C\u002Fem\u003E关闭按钮,出现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在\u003Cem\u003E页面\u003C\u002Fem\u003E的Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向\u003Cem\u003E页面\u003C\u002Fem\u003E注册了一段脚本,但是这段脚本在回发时没有注册到\u003Cem\u003E页面\u003C\u002Fem\u003E,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向\u003Cem\u003E页面\u003C\u002Fem\u003E注册脚本的函数移动到if语句的外面,即每次都向\u003Cem\u003E页面\u003C\u002Fem\u003E注册此脚本。\n\t\t-另一种办法就是在PageManager控件\u003Cem\u003E中\u003C\u002Fem\u003E增加RegisterPageStateChangedScript(向\u003Cem\u003E页面\u003C\u002Fem\u003E注册监视\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单内容改变的脚本)的属性(\u003Cem\u003E会\u003C\u002Fem\u003E在每次\u003Cem\u003E页面\u003C\u002Fem\u003E回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次\u003Cem\u003E页面\u003C\u002Fem\u003E回发时都注册脚本(包括Ajax局部回发),这就避免了手工去\u003Cem\u003E做\u003C\u002Fem\u003E的麻烦(已经在网报\u003Cem\u003E中\u003C\u002Fem\u003E遇到这种情况)。\n\t-每个\u003Cem\u003E页面\u003C\u002Fem\u003E必须添加一个PageManager控件,否则\u003Cem\u003E会\u003C\u002Fem\u003E出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少\u003Cem\u003E页面\u003C\u002Fem\u003E下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过\u003Cem\u003E点击\u003C\u002Fem\u003E按钮弹出IFrame窗口,可直接关闭父\u003Cem\u003E页面\u003C\u002Fem\u003E,也可在关闭后刷新或回发父\u003Cem\u003E页面\u003C\u002Fem\u003E。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要\u003Cem\u003E做\u003C\u002Fem\u003E的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个\u003Cem\u003E页面\u003C\u002Fem\u003E(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其\u003Cem\u003E中\u003C\u002Fem\u003EA包含B\u003Cem\u003E页面\u003C\u002Fem\u003E,当你在B\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E包含有\u003Cem\u003E页面\u003C\u002Fem\u003EC的窗口时,窗口不是在B\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E,而是在A\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E,这样才能保证窗口覆盖整个\u003Cem\u003E页面\u003C\u002Fem\u003E,当你从C\u003Cem\u003E中\u003C\u002Fem\u003E返回需要回发\u003Cem\u003E页面\u003C\u002Fem\u003EB时,却发现取得的是A\u003Cem\u003E页面\u003C\u002Fem\u003E,因为我们窗口是在A\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E创建的。我\u003Cem\u003E会\u003C\u002Fem\u003E通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid\u003Cem\u003E中\u003C\u002Fem\u003E弹出窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox弹出窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口或者在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003E的弹出窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下\u003Cem\u003ETab\u003C\u002Fem\u003EStrip在Ajax回发后不\u003Cem\u003E会\u003C\u002Fem\u003E去掉x-hide-display样式,导致\u003Cem\u003ETab\u003C\u002Fem\u003E显示为空的BUG。[fixed]\n\t-对\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FPanel\u002FWindow\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到\u003Cem\u003E页面\u003C\u002Fem\u003E节点,同时第二次\u003Cem\u003E打开\u003C\u002Fem\u003EWindow\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame不\u003Cem\u003E会\u003C\u002Fem\u003E有残影出现。[fixed]\n\t-如果\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E不是激活\u003Cem\u003ETab\u003C\u002Fem\u003E并且设置了IFrameUrl,则\u003Cem\u003E会\u003C\u002Fem\u003E延迟加载(示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_iframe.aspx)。[fixed]\n\t-Tree控件,\u003Cem\u003E点击\u003C\u002Fem\u003E一个节点自动回发,则当前\u003Cem\u003E点击\u003C\u002Fem\u003E的那个节点的选\u003Cem\u003E中\u003C\u002Fem\u003E状态不\u003Cem\u003E会\u003C\u002Fem\u003E保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范关闭窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe\u003Cem\u003E中\u003C\u002Fem\u003E关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,\u003Cem\u003E点击\u003C\u002Fem\u003E“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个\u003Cem\u003E页面\u003C\u002Fem\u003EUI,再关闭窗口。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body\u003Cem\u003E中\u003C\u002Fem\u003E。[fixed]\n\t-Firefox下,如果\u003Cem\u003E页面\u003C\u002Fem\u003E太长\u003Cem\u003E会\u003C\u002Fem\u003E出滚动条,原来在ViewPort样式\u003Cem\u003E中\u003C\u002Fem\u003E有body{overflow:hidden;}。[fixed]\n\t+IFrame内的\u003Cem\u003E页面\u003C\u002Fem\u003E宽度和高度\u003Cem\u003E会\u003C\u002Fem\u003E自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个\u003Cem\u003E页面\u003C\u002Fem\u003E的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息\u003Cem\u003E中\u003C\u002Fem\u003EMessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则\u003Cem\u003E会\u003C\u002Fem\u003E引起\u003Cem\u003E页面\u003C\u002Fem\u003E死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选\u003Cem\u003E中\u003C\u002Fem\u003E哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息\u003Cem\u003E中\u003C\u002Fem\u003E的换行符(转换为\u003Cbr\u002F\u003E),否则提示信息可能导致\u003Cem\u003E页面\u003C\u002Fem\u003E渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库\u003Cem\u003E中\u003C\u002Fem\u003E的数据绑定到Tree(示例在tree2_bind_da\u003Cem\u003Etab\u003C\u002Fem\u003Ease.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel\u003Cem\u003E中\u003C\u002Fem\u003E才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树\u003Cem\u003E中\u003C\u002Fem\u003E不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个\u003Cem\u003E页面\u003C\u002Fem\u003E放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选\u003Cem\u003E中\u003C\u002Fem\u003E样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字\u003Cem\u003E会\u003C\u002Fem\u003E换行,导致错位。[fixed]\n\t\t-虽然最后未能解决\u003Cdiv style=\"width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;\"\u003E\u003Cdiv style=\"width: 16px; height: 18px; float: left;\"\u003E##\u003C\u002Fdiv\u003E差旅交通费\u003C\u002Fdiv\u003E在IE和Firefox下显示的\u003Cem\u003E不同\u003C\u002Fem\u003E效果。\n\t\t-但是通过用\u003Cimg src=\"##\" \u002F\u003E来代替\u003Cdiv style=\"background:url(##)\" \u002F\u003E,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“\u003Cspan style=\"margin-right: -1000px;\"\u003E差旅交通费\u003C\u002Fspan\u003E”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选\u003Cem\u003E中\u003C\u002Fem\u003E行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-\u003Cem\u003E点击\u003C\u002Fem\u003E树节点可以链接到\u003Cem\u003E页面\u003C\u002Fem\u003E,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置ExtAspNet控件,则渲染时\u003Cem\u003E会\u003C\u002Fem\u003E出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E渲染ExtAspNet控件,如果容器的display='none',则\u003Cem\u003E会\u003C\u002Fem\u003E出现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就\u003Cem\u003E会\u003C\u002Fem\u003E显示滚动条。\n\t+IE6下,在应用Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax后,Form\u003Cem\u003E中\u003C\u002Fem\u003E字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax后不仅Form\u003Cem\u003E中\u003C\u002Fem\u003E列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数\u003Cem\u003E中\u003C\u002Fem\u003E,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master \u003Cem\u003E页面\u003C\u002Fem\u003E。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在\u003Cem\u003E页面\u003C\u002Fem\u003E上进行过ajax操作,当改变窗口大小时你\u003Cem\u003E会\u003C\u002Fem\u003E惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选\u003Cem\u003E中\u003C\u002Fem\u003E样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快\u003Cem\u003E页面\u003C\u002Fem\u003E的渲染速度(一个典型的20个记录的\u003Cem\u003E页面\u003C\u002Fem\u003E,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据不\u003Cem\u003E会\u003C\u002Fem\u003E改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid\u003Cem\u003E中\u003C\u002Fem\u003E静态的CheckBoxField图片。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加\u003Cem\u003ETab\u003C\u002Fem\u003EIndexChanged事件,同时\u003Cem\u003ETab\u003C\u002Fem\u003E增加EnablePostBack,可以在\u003Cem\u003E点击\u003C\u002Fem\u003E一个\u003Cem\u003ETab\u003C\u002Fem\u003E时引起回发事件。这在延迟加载\u003Cem\u003ETab\u003C\u002Fem\u003E的内容非常有用。(示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑\u003Cem\u003E页面\u003C\u002Fem\u003E使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript\u003Cem\u003E中\u003C\u002Fem\u003E不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在\u003Cem\u003E页面\u003C\u002Fem\u003E添加onReady函数(\u003Cem\u003E会\u003C\u002Fem\u003E被\u003Cem\u003E系统\u003C\u002Fem\u003E调用),然后用javascript监视文本框值的改变。\n\t-弹出Window默认显示的错误\u003Cem\u003E页面\u003C\u002Fem\u003E,解决方法在当前目录添加一个空的html\u003Cem\u003E页面\u003C\u002Fem\u003E,然后把Window控件的IFrameUrl指向这个\u003Cem\u003E页面\u003C\u002Fem\u003E而不是\"#\"。[fixed]\n\t+弹出的窗口\u003Cem\u003E中\u003C\u002Fem\u003E的弹出窗口的如果内容发生变化,则\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的关闭按钮时\u003Cem\u003E会\u003C\u002Fem\u003E有提示用户先保存的对话框,但是这个对话框的被第二个弹出窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例\u003Cem\u003E中\u003C\u002Fem\u003Ealert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E提交按钮后变成灰色不可再次\u003Cem\u003E点击\u003C\u002Fem\u003E(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E放置IFrame\u003Cem\u003E会\u003C\u002Fem\u003E出现渲染错误 (示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的\u003Cem\u003ETab\u003C\u002Fem\u003E如果不是激活\u003Cem\u003ETab\u003C\u002Fem\u003E,则不设置Url,只有在激活时才设置Url。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以\u003Cem\u003E点击\u003C\u002Fem\u003E的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的\u003Cem\u003E页面\u003C\u002Fem\u003E使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx\u003Cem\u003E中\u003C\u002Fem\u003E,\u003Cem\u003E点击\u003C\u002Fem\u003E“Ajax查询”按钮和关闭弹出的窗口(\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp\u003Cem\u003E.net\u003C\u002Fem\u003E ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx\u003Cem\u003E中\u003C\u002Fem\u003E。\n\t\t-对于使用布局构建的\u003Cem\u003E页面\u003C\u002Fem\u003E(比如content_page1.aspx)还不能使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E ajax,因为\u003Cem\u003E页面\u003C\u002Fem\u003E是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+关闭前提示当前\u003Cem\u003E页面\u003C\u002Fem\u003E已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角关闭按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E做\u003C\u002Fem\u003E法一致)。\n\t+iframe\u003Cem\u003E中\u003C\u002Fem\u003E的alert\u002Fconfirm要覆盖整个父\u003Cem\u003E页面\u003C\u002Fem\u003E,而不仅仅是iframe\u003Cem\u003E页面\u003C\u002Fem\u003E。[fixed]\n\t\t-在Firefox下还有问题。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDa\u003Cem\u003Etab\u003C\u002Fem\u003EasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不\u003Cem\u003E会\u003C\u002Fem\u003E变化 [feedback:zgjiang2]。[fixed]\n\t-关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要弹出对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的\u003Cem\u003Etab\u003C\u002Fem\u003E)。[fixed]\n\t+\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角关闭按钮的提示保存功能。\n\t-Master\u002FContent的内容页\u003Cem\u003E中\u003C\u002Fem\u003EGrid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E的LinkButtonField设置ConfirmText\u003Cem\u003E会\u003C\u002Fem\u003E出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选\u003Cem\u003E中\u003C\u002Fem\u003E的值 [feedback:jqpeng]。\n\t\t-增加PreRowDa\u003Cem\u003EtaB\u003C\u002Fem\u003Eound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowda\u003Cem\u003Etab\u003C\u002Fem\u003Eound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window窗体\u003Cem\u003E中\u003C\u002Fem\u003E的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-在simpleform.aspx\u003Cem\u003E中\u003C\u002Fem\u003E:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其\u003Cem\u003E中\u003C\u002Fem\u003E26是Toolbar的高度,32是窗口的标题栏和下边框的高度。\n\t+关闭Iframe的LoadMask,所以需要Iframe\u003Cem\u003E页面\u003C\u002Fem\u003E添加PageLoading控件,这样效果统一。[fixed]\n\t+Grid完善。\n\t\t-去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E应用\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E有很多问题(主要是状态保持的问题)。\n\t\t+EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx)\n\t\t\t-使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数\u003Cem\u003E中\u003C\u002Fem\u003E重新绑定数据。\n\t\t+增加AllowPaging属性。(示例在grid_paging.aspx)\n\t\t\t-使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数\u003Cem\u003E中\u003C\u002Fem\u003EGrid1.PageIndex = e.NewPageIndex;OK。\n\t\t+数据库分页支持。(示例在grid_da\u003Cem\u003Etab\u003C\u002Fem\u003Ease_paging.aspx)\n\t\t\t-使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数\u003Cem\u003E中\u003C\u002Fem\u003EGrid1.PageIn","createTime":"2010-04-01 09:41:27","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzahuifan\u002F197432","title":"回车变成\u003Cem\u003ETab\u003C\u002Fem\u003E的解决方案","desc":"IE\u003Cem\u003E会\u003C\u002Fem\u003E将\u003Cem\u003E页面\u003C\u002Fem\u003E上的第一个按钮自动设为默认按钮。当用户在\u003Cem\u003E页面\u003C\u002Fem\u003E上按回车键时,就\u003Cem\u003E会\u003C\u002Fem\u003E触发这个默认按钮。事实上,有很多用户有在TextBox\u003Cem\u003E中\u003C\u002Fem\u003E输入数据之后按回车的习惯(似乎是长期使用\u003Cem\u003EExcel\u003C\u002Fem\u003E养成的习惯)。想像一下,当用户依次在20个TextBox\u003Cem\u003E中\u003C\u002Fem\u003E输入了数据之后,一不小心习惯性地按了一下回车,而该\u003Cem\u003E页面\u003C\u002Fem\u003E上的默认按钮是“检索”按钮!@##¥@...刚刚的工作全部丢失了。<br\u002F><br\u002F>有了VS2005,这个问题似乎一下子变得容易解决了,因为在VS2005的\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E,每个Panel都可以指定一个DefaultButton。我们可以把这个DefaultButton设置成“保存”按钮,这样当用户按下回车时\u003Cem\u003E会\u003C\u002Fem\u003E自动","createTime":"2007-06-21 15:20:24","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzahuifan\u002F197432\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzahuifan\u002F197432\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-197432-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130","title":"ExtAspNet_v2.3.2_dll","desc":"ExtAspNet - ExtJS based ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E Controls with Full AJAX Support\n\t\nExtAspNet是一组专业的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp\u003Cem\u003E.net\u003C\u002Fem\u003E\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-09-29 v2.3.2\n\t-不绑定任何数据到Grid时,确保\u003Cem\u003E页面\u003C\u002Fem\u003E不\u003Cem\u003E会\u003C\u002Fem\u003E出错。\n\t-修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。\n\t-修正下拉列表控件不能绑定Data\u003Cem\u003ETab\u003C\u002Fem\u003Ele的BUG(feedback:RedOcean)。\n\t-增加土耳其语言资料文件(feedback:abdullaharslan)。\n\t-Grid的BoundField增加NullDisplayText属性,用于处理数据库\u003Cem\u003E中\u003C\u002Fem\u003E的null值,如果没有设置则默认为空字符串。\n\t-修正DatePicker\u003Cem\u003E中\u003C\u002Fem\u003E的一个bug(31\u002F01\u002F2010将\u003Cem\u003E会\u003C\u002Fem\u003E返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。\n\t-修正extjs最新版本(v3.2.2)\u003Cem\u003E中\u003C\u002Fem\u003E的一个bug,如果下拉列表\u003Cem\u003E中\u003C\u002Fem\u003E存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。\n\t-应用补丁#6593, #6621(feedback:vbelyaev)。\n\t+修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。\n\t\t-实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。\n\t-俄语翻译(feedback:vbelyaev)。\n\t\n\t\n\n+2010-06-30 v2.3.1\n\t-ExtAspNet控件将不在依赖ViewState,减少1\u002F4左右的HTTP数据传输量。\n\t-控件和示例的增强。\n\t\n\t\n\n+2010-03-28 v2.2.1\n\t+为\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的GetAdd\u003Cem\u003ETab\u003C\u002Fem\u003EReference函数增加重载方法,以便指定\u003Cem\u003ETab\u003C\u002Fem\u003E的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器\u003Cem\u003E打开\u003C\u002Fem\u003E后,不能弹出对话框的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Extjs最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时\u003Cem\u003E页面\u003C\u002Fem\u003E消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件ImageButton具有和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加GetAdd\u003Cem\u003ETab\u003C\u002Fem\u003EReference和GetRemove\u003Cem\u003ETab\u003C\u002Fem\u003EReference两个函数,用来向\u003Cem\u003ETab\u003C\u002Fem\u003EStrip控件动态增加删除\u003Cem\u003ETab\u003C\u002Fem\u003E。\n\t\t-增加示例\u003Cem\u003Etab\u003C\u002Fem\u003Estrip\u002F\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_add\u003Cem\u003Etab\u003C\u002Fem\u003E.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加Enable\u003Cem\u003ETab\u003C\u002Fem\u003ECloseMenu属性,是否启用右键菜单,可用来关闭当前\u003Cem\u003ETab\u003C\u002Fem\u003E和所有其他\u003Cem\u003ETab\u003C\u002Fem\u003E。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-关闭按钮默认直接关闭,不\u003Cem\u003E会\u003C\u002Fem\u003E弹出确认对话框。\n\t\t-GetConfirmFormModifiedHideReference的函数\u003Cem\u003E中\u003C\u002Fem\u003E的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居\u003Cem\u003E中\u003C\u002Fem\u003E,而不是黄金分割位置。\n\t+Button, Window等控件弹出位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference\u003Cem\u003E中\u003C\u002Fem\u003E的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名\u003Cem\u003E中\u003C\u002Fem\u003E不能包含\u003Cem\u003E中\u003C\u002Fem\u003E文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件\u003Cem\u003E中\u003C\u002Fem\u003E不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其\u003Cem\u003E中\u003C\u002Fem\u003E的Close全部改为Hide。\n\t-增加\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003ETab\u003C\u002Fem\u003E控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument\u003Cem\u003E中\u003C\u002Fem\u003EIcon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时\u003Cem\u003E会\u003C\u002Fem\u003E出现空白\u003Cem\u003E页面\u003C\u002Fem\u003E的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window关闭后不能再次\u003Cem\u003E打开\u003C\u002Fem\u003E的BUG(feedback:alexa99)。\n\t-修正了IE下Grid\u003Cem\u003E中\u003C\u002Fem\u003E的一个JS问题(feedback:lqm4108)。\n\t-修正Alert消息\u003Cem\u003E中\u003C\u002Fem\u003E引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正弹出对话框的宽度计算错误(\u003Cem\u003E会\u003C\u002Fem\u003E保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript代码回发父\u003Cem\u003E页面\u003C\u002Fem\u003E(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件\u003Cem\u003E中\u003C\u002Fem\u003E删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加\u003Cem\u003E中\u003C\u002Fem\u003E国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的\u003Cem\u003ETab\u003C\u002Fem\u003E在切换过程\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick\u003Cem\u003E会\u003C\u002Fem\u003E覆盖LinkButtonField, HyperLinkField, CheckBoxField的\u003Cem\u003E点击\u003C\u002Fem\u003E事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,\u003Cem\u003ETab\u003C\u002Fem\u003E等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选\u003Cem\u003E中\u003C\u002Fem\u003E某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选\u003Cem\u003E中\u003C\u002Fem\u003E当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet\u003Cem\u003E中\u003C\u002Fem\u003E的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的关闭按钮提示信息一直是\u003Cem\u003E中\u003C\u002Fem\u003E文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(\u003Cem\u003E会\u003C\u002Fem\u003E在后续版本\u003Cem\u003E中\u003C\u002Fem\u003E逐步完善)。\n\t-v0.2beta2版本\u003Cem\u003E中\u003C\u002Fem\u003E关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件\u003Cem\u003E会\u003C\u002Fem\u003E被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E反映到\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不\u003Cem\u003E会\u003C\u002Fem\u003E请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003ETemplateField生成到\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari提供。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其\u003Cem\u003E中\u003C\u002Fem\u003E包含1700多个小图标。\n\t\t-如果Panel具有IconUrl属性,则IconUrl优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出确认对话框,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加\u003Cem\u003E点击\u003C\u002Fem\u003E确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E新\u003Cem\u003E页面\u003C\u002Fem\u003E,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp\u003Cem\u003E.net\u003C\u002Fem\u003E\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选\u003Cem\u003E中\u003C\u002Fem\u003E任何一项时在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出对话框的JS代码。\n\t-修正IE7下不能以下划线作为CSS\u003Cem\u003E中\u003C\u002Fem\u003E类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请求。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为\u003Cem\u003E页面\u003C\u002Fem\u003E的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0\u003Cem\u003E中\u003C\u002Fem\u003E所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其\u003Cem\u003E中\u003C\u002Fem\u003E添加自己的语言版本,并执行js\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口。\n\t+在aspx\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E必须显示的声明控件的集合属性(比如\u003Cem\u003ETab\u003C\u002Fem\u003Es(\u003Cem\u003ETab\u003C\u002Fem\u003EStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将\u003Cem\u003E会\u003C\u002Fem\u003E影响所有的aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp\u003Cem\u003E.net\u003C\u002Fem\u003E AJAX\u003Cem\u003E中\u003C\u002Fem\u003E使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管\u003Cem\u003ETab\u003C\u002Fem\u003EStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将\u003Cem\u003E会\u003C\u002Fem\u003E影响所有的aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config\u003Cem\u003E中\u003C\u002Fem\u003E修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp\u003Cem\u003E.net\u003C\u002Fem\u003E compatibility\u003Cem\u003E中\u003C\u002Fem\u003E的示例无法完成,现在已经修正。\n\t+去除PageManager\u003Cem\u003E中\u003C\u002Fem\u003E方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp\u003Cem\u003E.net\u003C\u002Fem\u003E compatibility\u003Cem\u003E中\u003C\u002Fem\u003E的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid\u003Cem\u003E中\u003C\u002Fem\u003E每个单元格的值了。\n -增加示例-如何将Grid控件导出为\u003Cem\u003EExcel\u003C\u002Fem\u003E(data\\grid_\u003Cem\u003Eexcel\u003C\u002Fem\u003E_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不\u003Cem\u003E会\u003C\u002Fem\u003E被选\u003Cem\u003E中\u003C\u002Fem\u003E(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS\u003Cem\u003E中\u003C\u002Fem\u003Eclass名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,\u003Cem\u003ETab\u003C\u002Fem\u003EStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个\u003Cem\u003E页面\u003C\u002Fem\u003E保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们\u003Cem\u003E做\u003C\u002Fem\u003E了优化,现在要使一个Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的按钮能够AJAX提交,你不需要\u003Cem\u003E做\u003C\u002Fem\u003E任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E设置需要在AJAX\u003Cem\u003E中\u003C\u002Fem\u003E需要更新的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件了。\n\t\t-在Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E设置了哪些需要在AJAX\u003Cem\u003E中\u003C\u002Fem\u003E更新的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp\u003Cem\u003E.Net\u003C\u002Fem\u003E的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp\u003Cem\u003E.Net\u003C\u002Fem\u003E Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向\u003Cem\u003E页面\u003C\u002Fem\u003E,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的IconUrl有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不\u003Cem\u003E会\u003C\u002Fem\u003E对IE6.0提供支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成extjs最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();\u003Cem\u003E会\u003C\u002Fem\u003E导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个\u003Cem\u003E页面\u003C\u002Fem\u003E只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS\u003Cem\u003E会\u003C\u002Fem\u003E紧挨着\u003Cem\u003E页面\u003C\u002Fem\u003E标签引入,这样在\u003Cem\u003E中\u003C\u002Fem\u003E自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert对话框\u003Cem\u003E会\u003C\u002Fem\u003E遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选\u003Cem\u003E中\u003C\u002Fem\u003E第一项。\n\t-重新绑定模拟树的下拉列表后,选\u003Cem\u003E中\u003C\u002Fem\u003E项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed]\n\t-Window\u003Cem\u003E中\u003C\u002Fem\u003E的EnableIFrame==false,则\u003Cem\u003E点击\u003C\u002Fem\u003E关闭按钮时报JS错误。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E包含FileUpload控件,需要\u003Cem\u003E点击\u003C\u002Fem\u003E按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果弹出的窗口(Ext-Window)含有ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件FileUpload,则此弹出窗口在关闭时出现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E存在ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件(TextBox),则第二次提交表单就\u003Cem\u003E会\u003C\u002Fem\u003E报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E上放置ExtAspNet-Button和ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E-Button,则\u003Cem\u003E点击\u003C\u002Fem\u003EExtAspNet-Button时激发的是ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E-Button的事件,这个BUG和Extjs2.2.1\u003Cem\u003E中\u003C\u002Fem\u003EExt.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程\u003Cem\u003E中\u003C\u002Fem\u003E使用ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E标准控件和平共处了。[fixed]\n\t\t-如果一个ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP\u003Cem\u003E.NET\u003C\u002Fem\u003E控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新\u003Cem\u003E页面\u003C\u002Fem\u003E重试。”。[fixed]\n\t-自动测试功能\u003Cem\u003E会\u003C\u002Fem\u003E在以后版本\u003Cem\u003E中\u003C\u002Fem\u003E逐步完善。这个版本完成测试框架,采用Extjs\u003Cem\u003E中\u003C\u002Fem\u003EJS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+\u003Cem\u003E系统\u003C\u002Fem\u003E底层代码优化(主要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类\u003Cem\u003E中\u003C\u002Fem\u003E的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext\u003Cem\u003E中\u003C\u002Fem\u003E的GetConfirmFormModifiedReference,使用CurrentActiveWindow\u003Cem\u003E中\u003C\u002Fem\u003E的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不\u003Cem\u003E会\u003C\u002Fem\u003E修改弹出\u003Cem\u003E页面\u003C\u002Fem\u003E的URL(Ext-Window\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame),以前为了实现功能为每个弹出\u003Cem\u003E页面\u003C\u002Fem\u003E添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E查找RegisterPageStateChangedScript属性,并删除,否则\u003Cem\u003E会\u003C\u002Fem\u003E运行错误!\n\t\t-A\u003Cem\u003E页面\u003C\u002Fem\u003E有Ext-Window控件弹出B\u003Cem\u003E页面\u003C\u002Fem\u003E,B\u003Cem\u003E页面\u003C\u002Fem\u003E有Ext-Window控件弹出C\u003Cem\u003E页面\u003C\u002Fem\u003E,B\u003Cem\u003E页面\u003C\u002Fem\u003E的Ext-Window控件设置Target='_parent',则弹出的Ext-Window(C\u003Cem\u003E页面\u003C\u002Fem\u003E)\u003Cem\u003E会\u003C\u002Fem\u003E覆盖整个A\u003Cem\u003E页面\u003C\u002Fem\u003E,这是正确的。\n\t\t---当时如果用户直接访问B\u003Cem\u003E页面\u003C\u002Fem\u003E,就\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误,因为此时找不到B\u003Cem\u003E页面\u003C\u002Fem\u003E的父\u003Cem\u003E页面\u003C\u002Fem\u003EA了。现在的版本修正为如果找不到父\u003Cem\u003E页面\u003C\u002Fem\u003E,则就在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口,这样用户直接访问B\u003Cem\u003E页面\u003C\u002Fem\u003E也不\u003Cem\u003E会\u003C\u002Fem\u003E出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单改变,然后关闭弹出窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭弹出Ext-Window,再然后刷新父\u003Cem\u003E页面\u003C\u002Fem\u003E或回发父\u003Cem\u003E页面\u003C\u002Fem\u003E”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。\n\t\t---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父\u003Cem\u003E页面\u003C\u002Fem\u003E或者关闭后回发父\u003Cem\u003E页面\u003C\u002Fem\u003E的行为。\n\t\t-如果弹出窗口(Window控件)\u003Cem\u003E中\u003C\u002Fem\u003EIFrame的\u003Cem\u003E页面\u003C\u002Fem\u003E不能正常加载(网络暂时出错或\u003Cem\u003E页面\u003C\u002Fem\u003E抛出异常),则此时\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的关闭按钮\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误,因为此时\u003Cem\u003E页面\u003C\u002Fem\u003E尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时\u003Cem\u003E页面\u003C\u002Fem\u003E不能加载完全,也能通过右上角的关闭按钮关闭弹出含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的\u003Cem\u003E页面\u003C\u002Fem\u003E,为了保证这些IFrame的name\u003Cem\u003E不同\u003C\u002Fem\u003E,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载时没有不可选择项,则回发时也不\u003Cem\u003E会\u003C\u002Fem\u003E有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E加载过程\u003Cem\u003E中\u003C\u002Fem\u003E的时间信息保存在Javascript变量window.box.timeInfo\u003Cem\u003E中\u003C\u002Fem\u003E。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将\u003Cem\u003E会\u003C\u002Fem\u003E提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选\u003Cem\u003E中\u003C\u002Fem\u003E任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string url, string target),其\u003Cem\u003E中\u003C\u002Fem\u003Etarget可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包\u003Cem\u003E中\u003C\u002Fem\u003E增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E控件的EnablePostBack属性\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此\u003Cem\u003ETab\u003C\u002Fem\u003E都\u003Cem\u003E会\u003C\u002Fem\u003E回发)。[fixed]\n\t\t-有这样一个效果,如果\u003Cem\u003ETab\u003C\u002Fem\u003E1默认显示,\u003Cem\u003ETab\u003C\u002Fem\u003E1的EnablePostBack=true,则\u003Cem\u003E页面\u003C\u002Fem\u003E加载完毕后\u003Cem\u003E会\u003C\u002Fem\u003E回发\u003Cem\u003ETab\u003C\u002Fem\u003E1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则\u003Cem\u003E会\u003C\u002Fem\u003E报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选\u003Cem\u003E中\u003C\u002Fem\u003E[feedback:jqpeng]。\n\t\t\t-和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight\u003Cem\u003E会\u003C\u002Fem\u003E自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS\u003Cem\u003E中\u003C\u002Fem\u003E的height\u003Cem\u003E不同\u003C\u002Fem\u003E,CSS\u003Cem\u003E中\u003C\u002Fem\u003E的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS\u003Cem\u003E中\u003C\u002Fem\u003E的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml\u003Cem\u003E会\u003C\u002Fem\u003E被拷贝到bin目录下,提供VS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在子\u003Cem\u003E页面\u003C\u002Fem\u003E(iframe)\u003Cem\u003E中\u003C\u002Fem\u003E通过js切换父\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E选\u003Cem\u003E中\u003C\u002Fem\u003E的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时\u003Cem\u003E会\u003C\u002Fem\u003E出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)\u003Cem\u003E中\u003C\u002Fem\u003E设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只\u003Cem\u003E会\u003C\u002Fem\u003E改变Accordion的标题大小,而不\u003Cem\u003E会\u003C\u002Fem\u003E对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel\u003Cem\u003E中\u003C\u002Fem\u003E的容器,比如ContentPanel需要在外层加上标签。\n\t\t-适当增大AccordionPanel\u003Cem\u003E中\u003C\u002Fem\u003E链接的高度20px-\u003E22px,同时对链接的样式也\u003Cem\u003E做\u003C\u002Fem\u003E了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX\u003Cem\u003E中\u003C\u002Fem\u003EHTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FToolbar\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form\u003Cem\u003E中\u003C\u002Fem\u003E动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003Es(\u003Cem\u003ETab\u003C\u002Fem\u003ECollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选\u003Cem\u003E中\u003C\u002Fem\u003E项(SelectedRowIndexArray)在ajax回发过程\u003Cem\u003E中\u003C\u002Fem\u003E存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选\u003Cem\u003E中\u003C\u002Fem\u003E项\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E存在当前不存在的行序号,导致服务器端遍历选\u003Cem\u003E中\u003C\u002Fem\u003E项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例\u003Cem\u003E中\u003C\u002Fem\u003E表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm\u003Cem\u003E中\u003C\u002Fem\u003E隐藏一个表单字段(Hidden=false)\u003Cem\u003E会\u003C\u002Fem\u003E占据\u003Cem\u003E页面\u003C\u002Fem\u003E空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX\u003Cem\u003E中\u003C\u002Fem\u003E设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报\u003Cem\u003E中\u003C\u002Fem\u003E可以用自定义样式实现,而不应该写在控件\u003Cem\u003E中\u003C\u002Fem\u003E。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9\u003Cem\u003E中\u003C\u002Fem\u003E布局可供使用。\n\t\t-其\u003Cem\u003E中\u003C\u002Fem\u003E一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002F\u003Cem\u003ETab\u003C\u002Fem\u003EStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002F\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了弹出下级菜单,\u003Cem\u003E点击\u003C\u002Fem\u003E没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性不\u003Cem\u003E会\u003C\u002Fem\u003E渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报\u003Cem\u003E中\u003C\u002Fem\u003E唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通\u003Cem\u003E页面\u003C\u002Fem\u003E转向和ExtAspNetAjax下\u003Cem\u003E页面\u003C\u002Fem\u003E转向。[fixed]\n\t+模拟树的下拉列表的BUG(\u003Cem\u003E会\u003C\u002Fem\u003E使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,\u003Cem\u003ETab\u003C\u002Fem\u003EStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时\u003Cem\u003E会\u003C\u002Fem\u003E出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不\u003Cem\u003E会\u003C\u002Fem\u003E用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp\u003Cem\u003E.net\u003C\u002Fem\u003E的控件在Ajax不\u003Cem\u003E会\u003C\u002Fem\u003E被更新,所以\u003Cem\u003E会\u003C\u002Fem\u003E导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList\u003Cem\u003E中\u003C\u002Fem\u003E项如果存在汉字,则\u003Cem\u003E会\u003C\u002Fem\u003E换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E如果有ContentPanel,则在\u003Cem\u003E页面\u003C\u002Fem\u003E上方\u003Cem\u003E会\u003C\u002Fem\u003E有空白(可以通过设置EnableDeferredRender=false解决,但\u003Cem\u003E会\u003C\u002Fem\u003E减慢\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不\u003Cem\u003E会\u003C\u002Fem\u003E先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config\u003Cem\u003E中\u003C\u002Fem\u003E增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制\u003Cem\u003E页面\u003C\u002Fem\u003E上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加EnableDeferredRender属性(是否启用延迟加载\u003Cem\u003ETab\u003C\u002Fem\u003E,默认启用)。[fixed]\n\t-重定向\u003Cem\u003E页面\u003C\u002Fem\u003E,使用\u003Cem\u003E系统\u003C\u002Fem\u003E的方法 PageContext.Redirect(string url),使用Response.Redirect方法\u003Cem\u003E会\u003C\u002Fem\u003E出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上\u003Cem\u003E会\u003C\u002Fem\u003E有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,\u003Cem\u003E系统\u003C\u002Fem\u003E提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不\u003Cem\u003E会\u003C\u002Fem\u003E对UI起作用,同时是安全的,不\u003Cem\u003E会\u003C\u002Fem\u003E有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表\u003Cem\u003E页面\u003C\u002Fem\u003E)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否弹出的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高\u003Cem\u003E页面\u003C\u002Fem\u003E回发的速度(相比普通的回发和Asp\u003Cem\u003E.net\u003C\u002Fem\u003EAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要\u003Cem\u003E做\u003C\u002Fem\u003E任何配置,所有的回发都是Ajax(在Web.config和PageManager\u003Cem\u003E中\u003C\u002Fem\u003E有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的\u003Cem\u003E点击\u003C\u002Fem\u003E一个按钮弹出窗口,可以在Button的OnClick事件\u003Cem\u003E中\u003C\u002Fem\u003E设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的\u003Cem\u003E做\u003C\u002Fem\u003E法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性\u003Cem\u003E会\u003C\u002Fem\u003E有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用\u003Cem\u003E页面\u003C\u002Fem\u003E第一次加载标示和Ajax加载标示,默认都为true),所以如果使用\u003Cem\u003E系统\u003C\u002Fem\u003E默认的加载标示就不必每个\u003Cem\u003E页面\u003C\u002Fem\u003E都添加PageLoading控件。[fixed]\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选\u003Cem\u003E中\u003C\u002Fem\u003E的状态在回发后\u003Cem\u003E会\u003C\u002Fem\u003E得到保持。[fixed]\n\t-Grid选\u003Cem\u003E中\u003C\u002Fem\u003E行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar\u003Cem\u003E会\u003C\u002Fem\u003E对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父\u003Cem\u003E页面\u003C\u002Fem\u003E加载一个比较大的css文件(~100k),则每次\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u003Cem\u003E页面\u003C\u002Fem\u003E,onload事件的调用都\u003Cem\u003E会\u003C\u002Fem\u003E有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003EIFrame的显示速度。[fixed]\n\t\t-在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口需要~20ms,在父\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口需要100~300ms。通过缓存弹出的窗口实例,从而第二次弹出窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报\u003Cem\u003E中\u003C\u002Fem\u003E需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config\u003Cem\u003E中\u003C\u002Fem\u003E设置(推荐方法),也可以为每个\u003Cem\u003E页面\u003C\u002Fem\u003E设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置\u003Cem\u003E不同\u003C\u002Fem\u003E的皮肤(根据用户浏览器\u003Cem\u003E中\u003C\u002Fem\u003ECookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示\u003Cem\u003E点击\u003C\u002Fem\u003E可切换节点的折叠展开状态。[fixed]\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E会\u003C\u002Fem\u003E延迟渲染。[fixed]\n\t\t-这\u003Cem\u003E会\u003C\u002Fem\u003E明显加快\u003Cem\u003E页面\u003C\u002Fem\u003E的渲染速度,网报\u003Cem\u003E中\u003C\u002Fem\u003E一个典型的费用审批\u003Cem\u003E页面\u003C\u002Fem\u003E可以减少200ms的渲染时间。\n\t\t-由于非当前\u003Cem\u003ETab\u003C\u002Fem\u003E不\u003Cem\u003E会\u003C\u002Fem\u003E在\u003Cem\u003E页面\u003C\u002Fem\u003E加载时渲染,所以那些\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的节点在\u003Cem\u003E页面\u003C\u002Fem\u003E加载后也是不可见的,需要将相关的脚本移动到控件的render事件\u003Cem\u003E中\u003C\u002Fem\u003E。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip延迟加载引起的BUG(非当前\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的ContentPanel\u003Cem\u003E会\u003C\u002Fem\u003E占据\u003Cem\u003E页面\u003C\u002Fem\u003E空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E使用父\u003Cem\u003E页面\u003C\u002Fem\u003E的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout\u003Cem\u003E中\u003C\u002Fem\u003E显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E含有iframe时,Ext.onReady\u003Cem\u003E会\u003C\u002Fem\u003E被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs\u003Cem\u003E.net\u003C\u002Fem\u003E\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发\u003Cem\u003E页面\u003C\u002Fem\u003E再弹出IFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。\n\t\t-另一种\u003Cem\u003E做\u003C\u002Fem\u003E法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E关闭窗口的按钮,在IE6下\u003Cem\u003E会\u003C\u002Fem\u003E有JS错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form\u003Cem\u003E中\u003C\u002Fem\u003E添加FormRow,并动态的向FormRow\u003Cem\u003E中\u003C\u002Fem\u003E添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame弹出窗口关闭后回发父\u003Cem\u003E页面\u003C\u002Fem\u003E,则\u003Cem\u003E会\u003C\u002Fem\u003E多加载IFrame一次,再次\u003Cem\u003E打开\u003C\u002Fem\u003E窗口\u003Cem\u003E会\u003C\u002Fem\u003E重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,\u003Cem\u003E会\u003C\u002Fem\u003E严重影响\u003Cem\u003E页面\u003C\u002Fem\u003E的加载速度。原因是通过脚本改变的IFrameUrl\u003Cem\u003E会\u003C\u002Fem\u003E在回发时保持状态,从而回发父\u003Cem\u003E页面\u003C\u002Fem\u003E后Window\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame被添加到\u003Cem\u003E页面\u003C\u002Fem\u003E,而这是不需要的。\n\t\t-现在\"是否弹出窗口、窗口标题、IFrameUrl\"在客户端的改变,不\u003Cem\u003E会\u003C\u002Fem\u003E影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E关闭窗口的按钮,在IE下\u003Cem\u003E会\u003C\u002Fem\u003E有JS错误。[fixed]\n\t-Window的右上角关闭图标增加提示,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u002Fdefault.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,\u003Cem\u003E点击\u003C\u002Fem\u003Eiframe\u002Fpage3.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E8次后iexplorer占118.792M内存。\n\t\t-修正后,\u003Cem\u003E点击\u003C\u002Fem\u003Eiframe\u002Fpage3.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE\u003Cem\u003E会\u003C\u002Fem\u003E自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+\u003Cem\u003E页面\u003C\u002Fem\u003E正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行js来完成\u003Cem\u003E页面\u003C\u002Fem\u003E渲染之前延迟5ms,以便浏览器把当前\u003Cem\u003E页面\u003C\u002Fem\u003E内容显示出来。\n\t\t-加载js脚本的script标签放置在\u003Cem\u003E页面\u003C\u002Fem\u003E的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip延时加载出错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的\u003Cem\u003E页面\u003C\u002Fem\u003E应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则\u003Cem\u003E会\u003C\u002Fem\u003EJS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在\u003Cem\u003E页面\u003C\u002Fem\u003E显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请\u003Cem\u003E页面\u003C\u002Fem\u003E(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认\u003Cem\u003E会\u003C\u002Fem\u003E加载form.aspx\u003Cem\u003E页面\u003C\u002Fem\u003E(Window控件的BUG)。[fixed]\n\t-Window\u003Cem\u003E中\u003C\u002Fem\u003E的保存并关闭按钮和Asp\u003Cem\u003E.net\u003C\u002Fem\u003EAjax冲突。[fixed]\n\t-优化关闭Window的js脚本,减少写到\u003Cem\u003E页面\u003C\u002Fem\u003E的js大小。[fixed]\n\t-加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp\u003Cem\u003E.net\u003C\u002Fem\u003E控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快\u003Cem\u003E页面\u003C\u002Fem\u003E加载速度(一个典型\u003Cem\u003E页面\u003C\u002Fem\u003E的js由原来的33.0k降低为21.4k)。[fixed]\n\t+弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003E,\u003Cem\u003E点击\u003C\u002Fem\u003E按钮回发然后\u003Cem\u003E点击\u003C\u002Fem\u003E关闭按钮,出现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在\u003Cem\u003E页面\u003C\u002Fem\u003E的Page_Load\u003Cem\u003E中\u003C\u002Fem\u003E,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向\u003Cem\u003E页面\u003C\u002Fem\u003E注册了一段脚本,但是这段脚本在回发时没有注册到\u003Cem\u003E页面\u003C\u002Fem\u003E,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向\u003Cem\u003E页面\u003C\u002Fem\u003E注册脚本的函数移动到if语句的外面,即每次都向\u003Cem\u003E页面\u003C\u002Fem\u003E注册此脚本。\n\t\t-另一种办法就是在PageManager控件\u003Cem\u003E中\u003C\u002Fem\u003E增加RegisterPageStateChangedScript(向\u003Cem\u003E页面\u003C\u002Fem\u003E注册监视\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E表单内容改变的脚本)的属性(\u003Cem\u003E会\u003C\u002Fem\u003E在每次\u003Cem\u003E页面\u003C\u002Fem\u003E回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次\u003Cem\u003E页面\u003C\u002Fem\u003E回发时都注册脚本(包括Ajax局部回发),这就避免了手工去\u003Cem\u003E做\u003C\u002Fem\u003E的麻烦(已经在网报\u003Cem\u003E中\u003C\u002Fem\u003E遇到这种情况)。\n\t-每个\u003Cem\u003E页面\u003C\u002Fem\u003E必须添加一个PageManager控件,否则\u003Cem\u003E会\u003C\u002Fem\u003E出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp\u003Cem\u003E.net\u003C\u002Fem\u003E Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少\u003Cem\u003E页面\u003C\u002Fem\u003E下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过\u003Cem\u003E点击\u003C\u002Fem\u003E按钮弹出IFrame窗口,可直接关闭父\u003Cem\u003E页面\u003C\u002Fem\u003E,也可在关闭后刷新或回发父\u003Cem\u003E页面\u003C\u002Fem\u003E。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要\u003Cem\u003E做\u003C\u002Fem\u003E的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个\u003Cem\u003E页面\u003C\u002Fem\u003E(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其\u003Cem\u003E中\u003C\u002Fem\u003EA包含B\u003Cem\u003E页面\u003C\u002Fem\u003E,当你在B\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E包含有\u003Cem\u003E页面\u003C\u002Fem\u003EC的窗口时,窗口不是在B\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E,而是在A\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E,这样才能保证窗口覆盖整个\u003Cem\u003E页面\u003C\u002Fem\u003E,当你从C\u003Cem\u003E中\u003C\u002Fem\u003E返回需要回发\u003Cem\u003E页面\u003C\u002Fem\u003EB时,却发现取得的是A\u003Cem\u003E页面\u003C\u002Fem\u003E,因为我们窗口是在A\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E创建的。我\u003Cem\u003E会\u003C\u002Fem\u003E通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid\u003Cem\u003E中\u003C\u002Fem\u003E弹出窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox弹出窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口或者在当前\u003Cem\u003E页面\u003C\u002Fem\u003E弹出窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,弹出窗口\u003Cem\u003E中\u003C\u002Fem\u003E的弹出窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下\u003Cem\u003ETab\u003C\u002Fem\u003EStrip在Ajax回发后不\u003Cem\u003E会\u003C\u002Fem\u003E去掉x-hide-display样式,导致\u003Cem\u003ETab\u003C\u002Fem\u003E显示为空的BUG。[fixed]\n\t-对\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u002FPanel\u002FWindow\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到\u003Cem\u003E页面\u003C\u002Fem\u003E节点,同时第二次\u003Cem\u003E打开\u003C\u002Fem\u003EWindow\u003Cem\u003E中\u003C\u002Fem\u003E的IFrame不\u003Cem\u003E会\u003C\u002Fem\u003E有残影出现。[fixed]\n\t-如果\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E不是激活\u003Cem\u003ETab\u003C\u002Fem\u003E并且设置了IFrameUrl,则\u003Cem\u003E会\u003C\u002Fem\u003E延迟加载(示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_iframe.aspx)。[fixed]\n\t-Tree控件,\u003Cem\u003E点击\u003C\u002Fem\u003E一个节点自动回发,则当前\u003Cem\u003E点击\u003C\u002Fem\u003E的那个节点的选\u003Cem\u003E中\u003C\u002Fem\u003E状态不\u003Cem\u003E会\u003C\u002Fem\u003E保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范关闭窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe\u003Cem\u003E中\u003C\u002Fem\u003E关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,\u003Cem\u003E点击\u003C\u002Fem\u003E“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个\u003Cem\u003E页面\u003C\u002Fem\u003EUI,再关闭窗口。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body\u003Cem\u003E中\u003C\u002Fem\u003E。[fixed]\n\t-Firefox下,如果\u003Cem\u003E页面\u003C\u002Fem\u003E太长\u003Cem\u003E会\u003C\u002Fem\u003E出滚动条,原来在ViewPort样式\u003Cem\u003E中\u003C\u002Fem\u003E有body{overflow:hidden;}。[fixed]\n\t+IFrame内的\u003Cem\u003E页面\u003C\u002Fem\u003E宽度和高度\u003Cem\u003E会\u003C\u002Fem\u003E自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个\u003Cem\u003E页面\u003C\u002Fem\u003E的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息\u003Cem\u003E中\u003C\u002Fem\u003EMessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则\u003Cem\u003E会\u003C\u002Fem\u003E引起\u003Cem\u003E页面\u003C\u002Fem\u003E死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选\u003Cem\u003E中\u003C\u002Fem\u003E哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息\u003Cem\u003E中\u003C\u002Fem\u003E的换行符(转换为),否则提示信息可能导致\u003Cem\u003E页面\u003C\u002Fem\u003E渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库\u003Cem\u003E中\u003C\u002Fem\u003E的数据绑定到Tree(示例在tree2_bind_da\u003Cem\u003Etab\u003C\u002Fem\u003Ease.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel\u003Cem\u003E中\u003C\u002Fem\u003E才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树\u003Cem\u003E中\u003C\u002Fem\u003E不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个\u003Cem\u003E页面\u003C\u002Fem\u003E放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选\u003Cem\u003E中\u003C\u002Fem\u003E样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字\u003Cem\u003E会\u003C\u002Fem\u003E换行,导致错位。[fixed]\n\t\t-虽然最后未能解决##差旅交通费在IE和Firefox下显示的\u003Cem\u003E不同\u003C\u002Fem\u003E效果。\n\t\t-但是通过用来代替,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选\u003Cem\u003E中\u003C\u002Fem\u003E行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-\u003Cem\u003E点击\u003C\u002Fem\u003E树节点可以链接到\u003Cem\u003E页面\u003C\u002Fem\u003E,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置ExtAspNet控件,则渲染时\u003Cem\u003E会\u003C\u002Fem\u003E出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E渲染ExtAspNet控件,如果容器的display='none',则\u003Cem\u003E会\u003C\u002Fem\u003E出现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就\u003Cem\u003E会\u003C\u002Fem\u003E显示滚动条。\n\t+IE6下,在应用Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax后,Form\u003Cem\u003E中\u003C\u002Fem\u003E字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp\u003Cem\u003E.Net\u003C\u002Fem\u003EAjax后不仅Form\u003Cem\u003E中\u003C\u002Fem\u003E列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数\u003Cem\u003E中\u003C\u002Fem\u003E,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master \u003Cem\u003E页面\u003C\u002Fem\u003E。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在\u003Cem\u003E页面\u003C\u002Fem\u003E上进行过ajax操作,当改变窗口大小时你\u003Cem\u003E会\u003C\u002Fem\u003E惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选\u003Cem\u003E中\u003C\u002Fem\u003E样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快\u003Cem\u003E页面\u003C\u002Fem\u003E的渲染速度(一个典型的20个记录的\u003Cem\u003E页面\u003C\u002Fem\u003E,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据不\u003Cem\u003E会\u003C\u002Fem\u003E改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid\u003Cem\u003E中\u003C\u002Fem\u003E静态的CheckBoxField图片。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip增加\u003Cem\u003ETab\u003C\u002Fem\u003EIndexChanged事件,同时\u003Cem\u003ETab\u003C\u002Fem\u003E增加EnablePostBack,可以在\u003Cem\u003E点击\u003C\u002Fem\u003E一个\u003Cem\u003ETab\u003C\u002Fem\u003E时引起回发事件。这在延迟加载\u003Cem\u003ETab\u003C\u002Fem\u003E的内容非常有用。(示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-\u003Cem\u003E页面\u003C\u002Fem\u003E菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑\u003Cem\u003E页面\u003C\u002Fem\u003E使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript\u003Cem\u003E中\u003C\u002Fem\u003E不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在\u003Cem\u003E页面\u003C\u002Fem\u003E添加onReady函数(\u003Cem\u003E会\u003C\u002Fem\u003E被\u003Cem\u003E系统\u003C\u002Fem\u003E调用),然后用javascript监视文本框值的改变。\n\t-弹出Window默认显示的错误\u003Cem\u003E页面\u003C\u002Fem\u003E,解决方法在当前目录添加一个空的html\u003Cem\u003E页面\u003C\u002Fem\u003E,然后把Window控件的IFrameUrl指向这个\u003Cem\u003E页面\u003C\u002Fem\u003E而不是\"#\"。[fixed]\n\t+弹出的窗口\u003Cem\u003E中\u003C\u002Fem\u003E的弹出窗口的如果内容发生变化,则\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的关闭按钮时\u003Cem\u003E会\u003C\u002Fem\u003E有提示用户先保存的对话框,但是这个对话框的被第二个弹出窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例\u003Cem\u003E中\u003C\u002Fem\u003Ealert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-\u003Cem\u003E点击\u003C\u002Fem\u003E提交按钮后变成灰色不可再次\u003Cem\u003E点击\u003C\u002Fem\u003E(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+\u003Cem\u003ETab\u003C\u002Fem\u003EStrip\u003Cem\u003E中\u003C\u002Fem\u003E放置IFrame\u003Cem\u003E会\u003C\u002Fem\u003E出现渲染错误 (示例在\u003Cem\u003Etab\u003C\u002Fem\u003Estrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的\u003Cem\u003ETab\u003C\u002Fem\u003E如果不是激活\u003Cem\u003ETab\u003C\u002Fem\u003E,则不设置Url,只有在激活时才设置Url。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以\u003Cem\u003E点击\u003C\u002Fem\u003E的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的\u003Cem\u003E页面\u003C\u002Fem\u003E使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx\u003Cem\u003E中\u003C\u002Fem\u003E,\u003Cem\u003E点击\u003C\u002Fem\u003E“Ajax查询”按钮和关闭弹出的窗口(\u003Cem\u003E点击\u003C\u002Fem\u003E右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp\u003Cem\u003E.net\u003C\u002Fem\u003E ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx\u003Cem\u003E中\u003C\u002Fem\u003E。\n\t\t-对于使用布局构建的\u003Cem\u003E页面\u003C\u002Fem\u003E(比如content_page1.aspx)还不能使用Asp\u003Cem\u003E.net\u003C\u002Fem\u003E ajax,因为\u003Cem\u003E页面\u003C\u002Fem\u003E是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+关闭前提示当前\u003Cem\u003E页面\u003C\u002Fem\u003E已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角关闭按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E做\u003C\u002Fem\u003E法一致)。\n\t+iframe\u003Cem\u003E中\u003C\u002Fem\u003E的alert\u002Fconfirm要覆盖整个父\u003Cem\u003E页面\u003C\u002Fem\u003E,而不仅仅是iframe\u003Cem\u003E页面\u003C\u002Fem\u003E。[fixed]\n\t\t-在Firefox下还有问题。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-\u003Cem\u003ETab\u003C\u002Fem\u003EStrip的\u003Cem\u003ETab\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel\u003Cem\u003E中\u003C\u002Fem\u003E放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDa\u003Cem\u003Etab\u003C\u002Fem\u003EasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不\u003Cem\u003E会\u003C\u002Fem\u003E变化 [feedback:zgjiang2]。[fixed]\n\t-关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要弹出对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的\u003Cem\u003Etab\u003C\u002Fem\u003E)。[fixed]\n\t+\u003Cem\u003E页面\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角关闭按钮的提示保存功能。\n\t-Master\u002FContent的内容页\u003Cem\u003E中\u003C\u002Fem\u003EGrid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E的LinkButtonField设置ConfirmText\u003Cem\u003E会\u003C\u002Fem\u003E出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid\u003Cem\u003E中\u003C\u002Fem\u003E模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选\u003Cem\u003E中\u003C\u002Fem\u003E的值 [feedback:jqpeng]。\n\t\t-增加PreRowDa\u003Cem\u003EtaB\u003C\u002Fem\u003Eound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowda\u003Cem\u003Etab\u003C\u002Fem\u003Eound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window窗体\u003Cem\u003E中\u003C\u002Fem\u003E的","createTime":"2010-09-29 14:37:08","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2726130-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyunengbao\u002F2312818","title":"ASP_NET导出\u003Cem\u003EExcel\u003C\u002Fem\u003E数据方法总结","desc":"ASP_NET导出\u003Cem\u003EExcel\u003C\u002Fem\u003E数据方法总结","createTime":"2010-05-04 09:25:46","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyunengbao\u002F2312818\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyunengbao\u002F2312818\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2312818-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fjackeyliang2010\u002F2686709","title":"\u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V6.0","desc":"\u003Cem\u003EExcel\u003C\u002Fem\u003E集成工具箱6.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右\n自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用\u003Cem\u003EExcel\u003C\u002Fem\u003E 2003,则将产生【工具箱】菜单,\n包括160多个子菜单;如果您使用\u003Cem\u003EExcel\u003C\u002Fem\u003E 2007或者2010,将产生【集成】与【工具箱】功能区。根据各功能的特点,对子菜单\n作了18个分类, 而在函数向导对话框\u003Cem\u003E中\u003C\u002Fem\u003E也生成100个左右新的函数,用于扩展\u003Cem\u003EExcel\u003C\u002Fem\u003E的计算功能。且所有功能都通用于\n\u003Cem\u003EExcel\u003C\u002Fem\u003E 2002、2003和2007、2010。支持\u003Cem\u003E中\u003C\u002Fem\u003E英文显示与繁简体操作\u003Cem\u003E系统\u003C\u002Fem\u003E、拥有20多款华丽的皮肤界面,支持\u003Cem\u003EExcel\u003C\u002Fem\u003E2007全面\n隐藏选项卡,这个插件还模拟了一个\u003Cem\u003EExcel\u003C\u002Fem\u003E2003样式的菜单,目的就是方便那些从\u003Cem\u003EExcel\u003C\u002Fem\u003E2003转向使用2007或2010版的朋友使用。\n\n\n\n\n=================================================================================================================== \n下载地址(集成工具箱本身3.60MB,解压后超过15MB,不含帮助文件): \n网盘下载:http:\u002F\u002Fwww.brsbox.com\u002Fjackeyliang(含帮助,解压超过40MB) \n多特软件站下载: http:\u002F\u002Fwww.duote.com\u002Fsoft\u002F1495.html \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0完整版.rar (19.42MB)\n绿色软件站下载: http:\u002F\u002Fsoft.syue.com\u002Fsoft\u002F98\u002F99\u002F2010\u002F2010081491963.html \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0完整版.rar \n软件屋下载: http:\u002F\u002Fsoft.softhouse.com.cn\u002Fsoftware\u002Fshow\u002F76357.html \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0完整版.rar \n大观软件站下载: http:\u002F\u002Fguansky.com\u002Fsoft\u002Fhtml\u002F15828.html \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0完整版.rar \nIT资讯平台下载: http:\u002F\u002Fdownload.it168.com\u002F547\u002F1483\u002Findex.shtml \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0完整版.rar \n===================================================================================================================\n\n\n\n\n\n本工具箱160个菜单工具的功能介绍如下: \n \n分类 功能名称 功能介绍 \n繁简转换 【简体转繁体】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的简体字批量转换成繁体。 \n【繁体转简体】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的繁体字批量转换成简体。 \n【综合计算显示】 综合计算并显示选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 \n【GB2转BIG5】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的简体字(GB2)批量转换成繁体操作\u003Cem\u003E系统\u003C\u002Fem\u003E的繁体(BIG5)。 \n【BIG5转GB2】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的繁体字(BIG5)批量转换成简体操作\u003Cem\u003E系统\u003C\u002Fem\u003E的简体(GB2)。 \n完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能\u003Cem\u003E会\u003C\u002Fem\u003E清除一部分背景颜色,但对工作表\u003Cem\u003E中\u003C\u002Fem\u003E的条件格式\u003Cem\u003E会\u003C\u002Fem\u003E作完全保留,丝毫没有影响。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 \n【选区背景选择】 进行着色功能切换,支持行着色、列着色、行与列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 \n【条件背景】 默认启动智能着色方式,此功能不\u003Cem\u003E会\u003C\u002Fem\u003E清除背景颜色,但\u003Cem\u003E会\u003C\u002Fem\u003E对工作表\u003Cem\u003E中\u003C\u002Fem\u003E的条件格式作自动清除。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 \n【条件背景选择】 进行着色功能切换,支持行着色、列着色、行与列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 \n【高级背景】 将选择的行进行颜色标示,以突出当前行,有利于数据查看。可以随心所欲地定义颜色,还可以自由调整颜色的深浅。本工具相对于同类工具有不破坏背景色、条件格式、复制粘贴和撤消功能之优点。 \n【高级背景选择】 背景着色的高级功能,支持行着色、列着色、行与列同时着色共3种方式供选择。 \n快捷取数 【快捷取数列】 随存储格即时移动的快捷数据清单,可取任意区域的数据为唯一值清单,提高数据录入效率。最重要的是清单的最后6项为子程序功能,\u003Cem\u003E点击\u003C\u002Fem\u003E则可以完成增加清单显示宽度,选\u003Cem\u003E中\u003C\u002Fem\u003E或反选所有清单、写清单到任意存储格、重新加载数据等操作。也可以重新加载另外一区域或某几列的数据,也可以重新设定功能的生效存储格范围。 \n【快捷取日期】 随存储格即时移动的快捷日期数据清单,且有已录入日期的记忆功能。所有快捷取数工具都具有使用30秒钟则自动隐藏功能,用户可以决定是否取消其自动隐藏清单。 \n【快捷综合取数】 功能较功能更强大,支持同时取6个\u003Cem\u003E不同\u003C\u002Fem\u003E存储格区域(或列)为6个唯一值清单,并在指定的6个\u003Cem\u003E不同\u003C\u002Fem\u003E的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且支持重新加载数据及重设定生效存储格范围。 \n财 务 工 具 【自动填充】 \u003Cem\u003E不同\u003C\u002Fem\u003E于\u003Cem\u003EEXCEL\u003C\u002Fem\u003E的CTRL+D功能,能对选\u003Cem\u003E中\u003C\u002Fem\u003E的某列数据\u003Cem\u003E不同\u003C\u002Fem\u003E存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee原始数据。极力推荐的工具之一。 \n【取唯一值】 能瞬间取任意存储格区域的内容为不含重复值的唯一值清单,加载到工具\u003Cem\u003E中\u003C\u002Fem\u003E并提供随时随地调用,具有重复加载与读写的特点。 \n【添加注解】 可视化地窗体添加与修改注解功能。提供50种美观大方的批注样式供选择,支持图片背景批注与批量写批注。最大的优点是将指定的任意区域按每个存储格内容为一行加入到当前批注\u003Cem\u003E中\u003C\u002Fem\u003E,允许批注内容\u003Cem\u003E中\u003C\u002Fem\u003E是否显示行号。 \n【连接字符串】 可视化地窗体连接字符串功能。能将最多三个任意区域存储格(或列)的内容按自定的分隔符号连接成一个字符串写入指定的存储格或新工作表\u003Cem\u003E中\u003C\u002Fem\u003E。可以生成含重复值与不含重复值并可选是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 \n【隔行插入】 在当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 \n【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题的行数以及相隔行数、插入行数等。并能动态地显示运行过程,支持程序运行后\u003Cem\u003E中\u003C\u002Fem\u003E途暂停。 \n【恢复工资条】 能将已生成工资条的工资明细表,快速地还原为初始状态,支持多种参数设定。 \n【生成数据列】 生成发票号码序列的得力助手,可以生成任意的奇偶数列,差值或倍值或者递增、递减的任意有理数数据序列,支持先行后列与先列后行两种方式,支持瞬时恢复清除。 \n【取RMB张数】 根据员工的工资计算需要多少张100元、50元......1元的钞票,可以批量累计计算。发现金工资的财务工作者的必备工具之一。 \n【数字转英文】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域(默认)或已使用区域存储格的金额数字转换成英文格式显示的表达字符串,为三资企业制作客户外汇付款通知书的理想工具。 \n【文本转\u003Cem\u003EEXCEL\u003C\u002Fem\u003E】 将文本文件按指定的分隔符号分隔一次性导入到\u003Cem\u003EEXCEL\u003C\u002Fem\u003E文档\u003Cem\u003E中\u003C\u002Fem\u003E。提供两种导入方式。 \n【\u003Cem\u003EEXCEL\u003C\u002Fem\u003E转文本】 将当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递数据的便利工具之一。并提供两种方式的转换。 \n成本核算 【取唯一值】 还在使用或功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选\u003Cem\u003E中\u003C\u002Fem\u003E区域的存储格内容为唯一值清单,快捷且高效。 \n【取产品型号】 功能较在字符串\u003Cem\u003E中\u003C\u002Fem\u003E取数字强大多倍。能批量取某列存储格按指定长度的数字并允许特定数字串的获取,例如M76000,RC76000等。而小于指定长度的数字串则不予获取。 \n【快速选定数据】 可瞬间选\u003Cem\u003E中\u003C\u002Fem\u003E与用户指定内容相同的当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E所有存储格,方便选定、清除内容或其他操作,支持选\u003Cem\u003E中\u003C\u002Fem\u003E字体彩色是否着色。 \n【取型号使用范围】 取MATCH的两列数据(Relating Area)\u003Cem\u003E中\u003C\u002Fem\u003E对应MODEL的使用范围(Where Used)。 \n常 用 工 具 【繁简转换】 可视化的繁简体GB与BGK码以及GB2与BIG5码相互转换,可以复制文本到当前窗体\u003Cem\u003E中\u003C\u002Fem\u003E文本进行转换,也可以实现单个文件或批量文件的转换。在窗体\u003Cem\u003E中\u003C\u002Fem\u003E双击文本字符串尾即可实现自动选定文本并自动复制功能。本工具较同类转换工具准确率达100%。 \n【背景颜色】 提供可视化的可选择着色方式的背景着色功能,默认启用智能着色。 \n【文件批量改名】 功能完善的文件或图片批量改名工具。细分为多方式改名,优点明显。例:替换字符串就支持起始长度、替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 \n【工作表保护】 对当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E的各工作表批量一次性用指定密码进行锁定与解锁操作。 \n【工作表隐藏】 对当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E的各工作表批量一次性进行隐藏与取消隐藏操作。 \n【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立\u002F复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 \n【插入批注背景】 可以选定任意一幅图片为批注背景来插入一个带图片背景的批注。可视化窗体操作,可随时更换批注样式,也支持批量多存储格样式修改。 \n【插入行数】 对工作表隔行插入行并可以复制标题行,其\u003Cem\u003E中\u003C\u002Fem\u003E对相隔行数、插入行数等可以自定义。 \n【注解样式】 可以插入多达50种样式的注解,支持随时切换当前注解样式为指定的样式。 \n【工作表拆分】 将当前工作表的某列数据按指定条件拆分成多个工作表,可以用任意列的数据以及选定的数据\u003Cem\u003E做\u003C\u002Fem\u003E为拆分条件。 \n【行列奇偶选择】 可视化对当前工作表的行与列进行快速的奇偶行或奇偶列快速选定操作。 \n【查找与替换】 增强型\u003Cem\u003EEXCEL\u003C\u002Fem\u003E内置查找与替换功能。可以按设置搜索任何字符串(包括*或?符以及公式\u003Cem\u003E中\u003C\u002Fem\u003E包含的某字符),也可以将搜索结果写入到一新的工作表\u003Cem\u003E中\u003C\u002Fem\u003E以备查。 \n【工具箱选项】 集成工具箱的基本选项设置。基本分为。其\u003Cem\u003E中\u003C\u002Fem\u003E功能窗体显示区(NoTaskbar)功能可设置本工具启用的窗体图标是否在状态栏显示,并允许切换功能。 \n扩 展 工 具 【屏幕截图】 可以截取屏幕任意一区域并复制或另存为图片,可随意更改大小,操作灵活性特强。 \n【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格\u003Cem\u003E中\u003C\u002Fem\u003E,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 \n【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两时点间的相隔天数等。 \n【LED时钟与样式】 超漂亮的LED时钟,有默认时钟、蓝色时钟、经典时钟三种样式供选择。 \n【\u003Cem\u003E系统\u003C\u002Fem\u003E常用工具】 \u003Cem\u003E系统\u003C\u002Fem\u003E常用工具的快捷调用,例如:计算器、记事本、WORD、画图板。 \n【隐藏选项卡】 可以隐藏\u003Cem\u003EExcel\u003C\u002Fem\u003E2007及2010功能区的各选项卡(如:开始、插入、开发工具等)。 \n图 片 工 具 【选择本表图片】 将工作表\u003Cem\u003E中\u003C\u002Fem\u003E的图表导出为图片保存起来。 \n【批量导入图片到右列】 批量将图片导入到工作表\u003Cem\u003E中\u003C\u002Fem\u003E对应图片名字的右边。 \n【将选区转换成图片】 将工作表\u003Cem\u003E中\u003C\u002Fem\u003E的当前选\u003Cem\u003E中\u003C\u002Fem\u003E区域另存为图片。 \n【一键导出图形】 将工作表\u003Cem\u003E中\u003C\u002Fem\u003E的图片导出为图片文件。 \n【导入图片到工作表】 将磁盘\u003Cem\u003E中\u003C\u002Fem\u003E的图片导入到工作表\u003Cem\u003E中\u003C\u002Fem\u003E。 \n【删除选\u003Cem\u003E中\u003C\u002Fem\u003E区域图形】 将工作表\u003Cem\u003E中\u003C\u002Fem\u003E当前选\u003Cem\u003E中\u003C\u002Fem\u003E区域的所有图片与图形删除。 \n【删除所有导入图形】 将工作表\u003Cem\u003E中\u003C\u002Fem\u003E存在的所有图片与图形瞬间删除。 \n【批量导入图片】 将指定文件夹或包含子文件夹\u003Cem\u003E中\u003C\u002Fem\u003E所有图片瞬间(也可以按对应名称)按指定图片大小导入\u003Cem\u003EEXCEL\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E。允许一次性多图片格式(*.JPG\u002F*.GIF\u002F*.BMP\u002F*.PNG),且支持模糊与非模糊方式导入图片,还可以在导入的图片上显示其文件名称以易于管理。 \n【批量导出图片】 将\u003Cem\u003EEXCEL\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E指定某列\u003Cem\u003E中\u003C\u002Fem\u003E的图片按显示图片大小导出到指定的文件夹\u003Cem\u003E中\u003C\u002Fem\u003E。 \n批 注 工 具 【插入样式批注】 提供50种花样的批注供选择,可随时更换,且美观大方。 \n【插入图片批注】 不仅提供多样的批注供选择,且支持批注\u003Cem\u003E中\u003C\u002Fem\u003E加入图片背景。 \n【批量修改批注】 批量一次性修改选\u003Cem\u003E中\u003C\u002Fem\u003E存储格区域批注的样式。 \n【批量图片批注】 可批量将图片生成带图片背景的批注。 \n【批量名称图片批注】 可批量将图片依对应名称生成带图片背景的批注。 \n【显示与隐藏批注】 显示或隐藏工作表\u003Cem\u003E中\u003C\u002Fem\u003E选\u003Cem\u003E中\u003C\u002Fem\u003E区域的批注。 \n【可视化批注】 可视化地窗体操作添加与修改注解完整功能。 \n安全工具 【工作表解密】 可以破解工作表密码和工作簿密码。在不知道密码的前提下找回密码。 \n【VBA工程解密】 将有密码的VBA工程代码破解,直接\u003Cem\u003E打开\u003C\u002Fem\u003E即可修改代码。相当于VBA工程免密查看。 \n【隐藏与显示磁盘】 隐藏与显示磁盘本地磁盘盘符(无需重启动)。 \n【端口进程查询】 查看本机开放的\u003Cem\u003E系统\u003C\u002Fem\u003E端口以及使用该端口的进程一览表。 \n系 统 工 具 【锁定屏幕】 快捷一键式登出当前用户并锁定电脑,类似于CTRL+ALT+DEL功能。 \n【\u003Cem\u003E系统\u003C\u002Fem\u003E待机】 使用此功能可以达到节能及锁定电脑一键式进入\u003Cem\u003E系统\u003C\u002Fem\u003E待机状态,再次使用时恢復速度是最快的,一般五秒之內就可以恢復到上次使用状态而无需要重新开机了。 \n【锁定鼠标】 可即时锁定屏幕鼠标且支持密码锁定,有密码才可以解锁恢复被禁止的所有操作,能屏蔽所有的\u003Cem\u003E系统\u003C\u002Fem\u003E按键如:ALT+F4、CTRL+ALT+DEL、ESC、WIN等,支持桌面锁。 \n【任务管理器】 增强型的\u003Cem\u003E系统\u003C\u002Fem\u003E任务管理器,提供进程的PID及路径、进程文件属性及详细说明,以及进行结束进程与删除进程及设置LEVEL等操作。 \n【\u003Cem\u003E系统\u003C\u002Fem\u003E功能信息】 \u003Cem\u003E系统\u003C\u002Fem\u003E功能调用及相关信息,关闭电脑、重启电脑、电脑使用时间、磁盘剩余空间。 \n【查看IP信息】 查看本机LAN局域网的IP地址以及WAN外部网的公共IP地址(需要接入Internet)。 \n【显示桌面】 快捷的一键式显示桌面,有时桌面图标找不到时特别有用。 \n【资源管理器】 快捷的\u003Cem\u003E打开\u003C\u002Fem\u003E\u003Cem\u003E系统\u003C\u002Fem\u003EIE资源管理器,便于游览与管理文件夹与文件目录。 \n【\u003Cem\u003E系统\u003C\u002Fem\u003E分区表】 查看\u003Cem\u003E系统\u003C\u002Fem\u003E分区表与引导区(BOOT)内容,备份起来以防止CIH病毒的破坏。 \n函数工具 【插入函数】 以对话窗体方式插入类别\u003Cem\u003E中\u003C\u002Fem\u003E大约一百个左右的自订增益函数。 \n【函数帮助】 提供最常用的绝大多数自订增益函数的详细说明信息。 \n【函数实例】 以实例文档Function Sample.xls来列举常用自订增益函数的使用方法举例。 \n快 捷 工 具 【快捷简转繁】 将当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E所有存储格的简体字批量转换成繁体,如果选NO时,则还包括当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E的所有窗体控件\u003Cem\u003E中\u003C\u002Fem\u003E的文本也进行转换。 \n【快捷繁转简】 将当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E所有存储格的繁体字批量转换成简体,如果选NO时,则还包括当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E的所有窗体控件\u003Cem\u003E中\u003C\u002Fem\u003E的文本也进行转换。 \n【隐藏非使用区】 对当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E各工作表未使用区域进行快速隐藏。 \n【删除空白行】 以当前工作表已使用区域\u003Cem\u003E中\u003C\u002Fem\u003E的空行进行快速删除。 \n【反向选择】 选择当前选\u003Cem\u003E中\u003C\u002Fem\u003E区域相反的已使用存储格。 \n【数字转英文】 将当前工作表\u003Cem\u003E中\u003C\u002Fem\u003E所有存储格的金额数字转换成英文格式显示的表达字串,在确认之前可以更改选项以转换为值或用公式表达两种方式供选择。 \n【删除超级链接】 瞬间删除当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E所有的超级链接。 \n【删除工作薄链接】 瞬间删除当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E所有的地址引用链接。 \n【工作表目录】 对当前工作簿的所有工作表建立目录与编号,且生成链接,单击可以\u003Cem\u003E打开\u003C\u002Fem\u003E工作表。 \n【建文件夹目录】 可按选\u003Cem\u003E中\u003C\u002Fem\u003E存储格内容或者当月日期天数值来创建文件夹到指定文件夹\u003Cem\u003E中\u003C\u002Fem\u003E。 \n【建工作表及目录】 可按选\u003Cem\u003E中\u003C\u002Fem\u003E存储格内容或者当月日期天数值来创建\u003Cem\u003EEXCEL\u003C\u002Fem\u003E文档到指定文件夹\u003Cem\u003E中\u003C\u002Fem\u003E。 \n【取文件目录】 对指定文件夹\u003Cem\u003E中\u003C\u002Fem\u003E的文件在\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E建立目录,且生成链接,单击可以\u003Cem\u003E打开\u003C\u002Fem\u003E对应的文件。 \n【IE论坛收藏】 将IE游览器收藏夹\u003Cem\u003E中\u003C\u002Fem\u003E的WEB地址名称及链接写入\u003Cem\u003EEXCEL\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E保存起来。 \n【ABC序列】 为\u003Cem\u003EEXCEL\u003C\u002Fem\u003E生成一个可用鼠标拖值处理的A-Z字母序列,一次生成,重复使用。 \n【百家姓序列】 为\u003Cem\u003EEXCEL\u003C\u002Fem\u003E生成一个可用鼠标拖值处理的百家姓序列,一次生成,重复使用。 \n【压缩工作薄】 对当前工作薄进行压缩减肥操作,适当缩小文件大小。 \n【数字小字转大写】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的小写金额批量转换成\u003Cem\u003E中\u003C\u002Fem\u003E文大写金额。 \n【数字大写转小写】 将选\u003Cem\u003E中\u003C\u002Fem\u003E区域存储格的\u003Cem\u003E中\u003C\u002Fem\u003E文大写金额批量转换成小写金额。 \n【筛选复制可见】 在筛选状态下,对选\u003Cem\u003E中\u003C\u002Fem\u003E区域复制时不复制已隐藏的内容,支持\u003Cem\u003EExcel\u003C\u002Fem\u003E2003以下版本。 \n【选\u003Cem\u003E中\u003C\u002Fem\u003E相同值】 可瞬间选\u003Cem\u003E中\u003C\u002Fem\u003E与当前某存储格内容相同的工作表\u003Cem\u003E中\u003C\u002Fem\u003E所有存储格,比多次选\u003Cem\u003E中\u003C\u002Fem\u003E操作省时。 \n【修复\u003Cem\u003EEXCEL\u003C\u002Fem\u003E】 当您的\u003Cem\u003EExcel\u003C\u002Fem\u003E某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复\u003Cem\u003EExcel\u003C\u002Fem\u003E到默认状态,本功能较同类工具清除更彻底。 \n合 并 唯 一 值 工 具 【筛选选区唯一值行】 以选择区域左边一列为条件进行唯一值筛选,输入1则删除重复值所在行,输入2则隐藏重复值所在行。 \n【消除选区重复值】 将选择\u003Cem\u003E中\u003C\u002Fem\u003E重复出现的数据删除,显示唯一值的数据序列。 \n【突出显示重复值】 将选择\u003Cem\u003E中\u003C\u002Fem\u003E重复出现的数据均以圈号标示出来。 \n【生成随机不重复值】 在A列生成指定数据范围1-9000000以及上的随机数序列。 \n【控制单列不重复值】 可控制任意一列(取值1-255表示A-IV列)存储格内容的是否出现重复值,当出现重复值时则自动适时弹出信息提醒,若取消控制(取0或空值)即可。 \n【可还原之合并】 用此功能对存储格合并后,可在任何时候还原为合并前的状态。 \n【还原合并数据】 对一列\u003Cem\u003E中\u003C\u002Fem\u003E合并后的单元格取消合并,且恢复合并前所有数据。 \n【还原合并且填充】 对一列\u003Cem\u003E中\u003C\u002Fem\u003E合并后的单元格取消合并,且用第一个存储格值进行向下与向右填充。 \n【合并数据并复制】 可以将一个区域的数据直接复制粘贴到一个单元格\u003Cem\u003E中\u003C\u002Fem\u003E。 \n【合并数据并居\u003Cem\u003E中\u003C\u002Fem\u003E】 合并居\u003Cem\u003E中\u003C\u002Fem\u003E数据,可以保留合并前的所有数据。而且取消合并后可以还原数据,强过\u003Cem\u003EExcel\u003C\u002Fem\u003E自带的合并 居\u003Cem\u003E中\u003C\u002Fem\u003E多倍。 \n【可视化合并数据】 用显示窗体可视化操作对存储格字符串进行合并连接。 \n增强插入 【插入FLASH动画】 将Flash动画嵌入到工作表\u003Cem\u003E中\u003C\u002Fem\u003E,并播放,可以随意定制Flash动画的显示大小和位置。动画嵌入工作表\u003Cem\u003E中\u003C\u002Fem\u003E,删除FLASH原文件不影响\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的效果,且允许是否需要保留Flash的缩放等操作菜单。 \n【插入GIF动画】 将GIF动画插入到工作表\u003Cem\u003E中\u003C\u002Fem\u003E播放,可以随意定制GIF的大小和位置,删除GIF原文件不影响\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的效果。 \n【插入MV动画】 将MV等多媒体动画或电影插入到工作表\u003Cem\u003E中\u003C\u002Fem\u003E播放,可以定制MV视频的大小和位置。 \n增 益 工 具 【存储格加解密】 对工作表选区的数据进行加密,转换成乱码,有密码才可以查看。第二次执行时即可以恢复数据。理论上支持反复加密,但解密时需用相对应的密码。 \n【文本文件加密】 对文本TXT文件进行加密与解密操作。 \n【禁用USB使用】 禁止USB的即插即用功能,防止他人非正常使用外存储设备(无需重启动)。 \n【启用USB使用】 恢复USB的即插即用功能(无需重启动)。 \n【清除历史记录】 彻底清除垃圾文件、临时文件、IE缓存、历史记录、升级下载记录、IE地址记录、运行记录等,为\u003Cem\u003E系统\u003C\u002Fem\u003E磁盘赢得更多的剩余空间,较同类清除工具效果更明显。 \n【修改文件时间】 可随心所欲修改文件的创建、修改、访问时间,包括年月日时分秒,支持修改单个文件、批量文件以及包括子文件夹等多种方式修改。 \n【下载地址转换】 可在讯雷(Thunder)、网际快车(FlashGet)、QQ旋风(Qqdl)、普通地址(Http)之间相互转换下载地址,这样就无需同时安装多个下载工具了,为下载提供了方便。 \n【星号密码查看】 拖动图标到任何程序窗体\u003Cem\u003E中\u003C\u002Fem\u003E的密码框上方,即可将其密码显示出来。用IE密码查看器还可查看IE游览器(包括傲游览器)WEB网页\u003Cem\u003E中\u003C\u002Fem\u003E的密码框\u003Cem\u003E中\u003C\u002Fem\u003E的密码。 \n【程序调试工具】 用作程序自身的DEBUG调试与程序崩溃的自动修复等。 \n动 画 工 具 【鼠标跟随动画】 非常灵活的鼠标跟随动画,有四种样式自动切换且支持各种显示参数值设定,可以修改参数固定为其\u003Cem\u003E中\u003C\u002Fem\u003E的一种动画方式。 \n【显示茸茸小兔】 可爱的茸茸小兔显示在屏幕右下角,仿瑞星杀毒软件的卡卡动画。 \n【启用特效动画】 随鼠标选\u003Cem\u003E中\u003C\u002Fem\u003E\u003Cem\u003E不同\u003C\u002Fem\u003E存储格变化而出现的6个绿色自转动环的特效动画,第一次有了“这是在使用\u003Cem\u003EEXCEL\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E的功能吗”的惊奇。有随鼠标移动(选YES)与不随鼠标移动两种方式,可以通过禁用此动画。动画工具\u003Cem\u003E中\u003C\u002Fem\u003E的经典之一。 \n【多个休闲动画】 具有休闲与娱乐于一体的多个动画:喜悦黄鹂、勤劳蜜蜂、经梅迎春、青青竹子、时针指南、葡萄熟了、果实累累、花好月季等。为\u003Cem\u003EEXCEL\u003C\u002Fem\u003E增添一丝喜色。 \n【关闭所有动画】 一键迅速关闭所有已经\u003Cem\u003E打开\u003C\u002Fem\u003E的休闲动画。 \n休 闲 工 具 【媒体播放器】 简洁媒体播放器,可\u003Cem\u003E打开\u003C\u002Fem\u003EMP3、MP4、MPG、DVD等几乎所有格式的多媒体文体。 \n【播放FLASH】 支持\u003Cem\u003E打开\u003C\u002Fem\u003E所有SWF格式的FLASH文件进行播放,可以暂停或按帧播放。 \n【屏幕放大镜】 可以缩放屏幕任意区域,支持0.5倍、1倍、2倍、3倍、6倍放大效果。 \n【屏幕画笔】 可以手写并在当前屏幕背景图上圈、点、划、作波浪标记等均可,并可将结果保存为图片文件或插入到\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003E中\u003C\u002Fem\u003E,可自定画笔粗细与颜色选择,支持随时清除所有标记。 \n【俄罗斯方块】 非常经典的俄罗斯方块积分小游戏,支持鼠标操作与键盘方向键(或WSADZ键)两种操作方式,空格与回车键为暂停切换键。 \n【在线音乐】 非常流行的网络在线音乐播放器,自动加载最近音乐排行榜,也可按名字或歌星搜索到最热的歌曲并加到播放清单\u003Cem\u003E中\u003C\u002Fem\u003E。 \n开 发 辅 助 【获取\u003Cem\u003E系统\u003C\u002Fem\u003E菜单】 获取VBA编程人员需要的关于菜单及及控件的名称及ID等相关信息。 \n【生成\u003Cem\u003E系统\u003C\u002Fem\u003E图标A】 VBA编程人员常用的工具。可以每页500项查询\u003Cem\u003EExcel\u003C\u002Fem\u003E内部图标及FaceId。 \n【生成\u003Cem\u003E系统\u003C\u002Fem\u003E图标B】 VBA编程人员常用的工具。增强查询与写\u003Cem\u003EExcel\u003C\u002Fem\u003E内部图标的ID号于空白的工作表\u003Cem\u003E中\u003C\u002Fem\u003E。 \n【显示基本颜色值】 显示最基本的56种基本颜色ID、名称与相对应的RGB颜色值以及网页颜色值。 \n【删除注释行】 可以瞬间清除当前工作薄\u003Cem\u003E中\u003C\u002Fem\u003E的所有模块、类模块及VBA子程序\u003Cem\u003E中\u003C\u002Fem\u003E的所有注释语句。 \n定制开发 【定制功能模块】 根据客户需求定制开发的模块功能:Aging库存报表、ERP存货报表、BOM表整理、标签制作、付款通知书、报表格式转换等。 \n \n帮助工具 【集成工具箱】 关于本工具必要帮助以及作者(梁瑞春)的EMAIL、个人主页、联系方式等相关信息。 \n【\u003Cem\u003E中\u003C\u002Fem\u003E英文显示】 支持繁简体操作\u003Cem\u003E系统\u003C\u002Fem\u003E,以及多语言显示:\u003Cem\u003E中\u003C\u002Fem\u003E文简体(黙认)、\u003Cem\u003E中\u003C\u002Fem\u003E文繁体、英文显示。 \n【更换皮肤】 支持窗体界面的皮肤切换,具有二十多款超漂亮的皮肤包供免费选择。 \n【仿2003样式菜单】 开始使用2007版朋友来说,有很大的不适应。这个插件模拟了一个\u003Cem\u003EExcel\u003C\u002Fem\u003E2003样式的菜单,目的就是方便那些从\u003Cem\u003EExcel\u003C\u002Fem\u003E2003转向使用2007或2010版的朋友使用。 \n \n \n \n \n100个左右的自订\u003Cem\u003EEXCEL\u003C\u002Fem\u003E内置增益函数: \n \n分类 函数名称 功能介绍 \n字  符  转  换 GB2BIG5 将存储格的简体字(GB2)转换成真正繁体字(BIG5)。一个参数即单元格引用。 \nBIG5GB2 将存储格的真正繁体字(BIG5)转换成简体字(GB2)。一个参数即单元格引用。 \nJianToFan (JtoF) 将存储格的简体字(GB2)转换成繁体字(GBK)。一个参数即单元格引用。 \nFanToJian (FtoJ) 将存储格的繁体字(GBK)转换成简体字(GB2)。一个参数即单元格引用。 \nColumnNumber 将某字符所表示的列(或某单元格引用)转换为数字形式所表于的列号。一个参数取值范围为A--AZ。例如: ColumnNumber(\"AZ\")=52表示为第52列。 \nColumnText 将某数字所表示的列号(或某单元格引用)转换为字符形式所表于的列。一个参数取值范围为1--702。例如: ColumnText(256)=IV表示为IV列。 \nNumUpper 将存储格的小写数字金额转换为\u003Cem\u003E中\u003C\u002Fem\u003E文大写金额。一个参数即单元格引用。 \nNumLower 将存储格的\u003Cem\u003E中\u003C\u002Fem\u003E文大写金额转换为小写数字金额。一个参数即单元格引用。 \nNumtoEnglish 将存储格的小写金额转换为英文字符串表示的金额。第一个参数即单元格引用,第二个参数可省略,最标准的英文表达方式。 \nSpellNumber 将存储格的小写金额转换为英文字符串表示的金额。一个参数即单元格引用,适合美国美元表达习惯。 \nTextReverse 反转(倒置)文本字符串函数。一个参数即字符串表达式或单元格引用。 \n字  符  操  作 ChineseBiHua 取存储格的\u003Cem\u003E中\u003C\u002Fem\u003E文汉字的笔画。一个参数即单元格引用或\u003Cem\u003E中\u003C\u002Fem\u003E文汉字字符串。 \nFound 查找某字符在某字符串表达式的位置。第一个参数为要查找的字符串,第二个参数为字符串表达式或单元格引用,第三个参数为查找到的第N个字符串,若省略则表示查找第1个字符串。例如:Found(\"A\",\"ABCDAEFGHAAA\",3)=10 \nGetModelNumber 取产品MODEL型号。第一个参数为产品的英文数字描述的字串,第2个参数为指定MODEL型号的长度(默认为4),第3个参数为MODEL型号间的分隔符号,可任意。 \nGetMoneyPcs 取存储格的数字金额\u003Cem\u003E中\u003C\u002Fem\u003E包含对应人民币面额(100\u002F50\u002F20\u002F10\u002F5\u002F2\u002F1等)的张数。第一个参数即单元格引用,第二个参数为人民币(RMB)面额。 \nGetTax 计算个人所得税工具。第一个参数为计税总额,第二个参数为扣除数额。 \nGetTypeValue 将存储格的内容按需求进行字符分离与表达式计算。第一个参数即单元格引用,第二个参数即类型取值范围为1-10(1-只保留数字. 2-只保留字母. 3-只留\u003Cem\u003E中\u003C\u002Fem\u003E文(包含空格). 4-只保留数字和小数点. 5-只保留数字和运算符号+-*\u002F^. 6-只保留字母和数字. 7-去掉数字. 8-去除英文大小写字符. 9-去除\u003Cem\u003E中\u003C\u002Fem\u003E文. 10-这里指去除所有空格符)。 \nHZtoPY 将存储格的内容\u003Cem\u003E中\u003C\u002Fem\u003E的\u003Cem\u003E中\u003C\u002Fem\u003E文汉字转换为拼音。第一个参数为单元格引用,第二个参数为是否只对汉字转换(1或0),第三个参数为间隔符号。后面两个参数可以省略。 \nNumInt 将存储格的数字金额转换为按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例如:NumInt(9825.65,5)=9825, NumInt(9825.65,10)=9830。面值参数越大差异越大。 \nNumIntDown 将存储格的数字金额转换为向下按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例: NumIntDown(9825.65,5)=9820, NumIntDown(9825.65,10)=9820。面值参数越大差异越大。 \nNumIntUp 将存储格的数字金额转换为向上按整数四舍五入的整数金额。第一个参数即单元格引用,第二个参数为人民币面额(取值为5或10)。例如:NumIntUp(9825.65,5)=9830, NumIntUp(9825.65,10)=9830。面值参数越大差异越大。 \nReplaceIn 字符替换含数。第一个参数为字符串表达式或单元格引用,第二个参数为要查找的字符串,第三个参数为新替换的字符串,第四个参数为从找到的第N个字符开始替换。 \nRightFind 从右向左查找字符串的函数。例如:RightFind(\"BCADEA\",\"A\")=6 \n存 储 格 操 作 ClearBlank 消除空值函数。可以选择多行多列,按先行后列之方式返回值.两个参数,第一个参数为存储格区域引用,第二个参数为需要取数的序号(1--N)。 \nColorCount 取存储格范围内某颜色值的存储格个数。第一个参数为储格范围引用,第二个参数为某颜色Index值或某单元格引用。 \nColorSum 按背景颜色对区域值求和。第一参数为求和区域,第二参数为背景颜色参照值。 \nFormulaView 显示公式函数。提取单元格\u003Cem\u003E中\u003C\u002Fem\u003E的公式,第一个参数单元格引用,第二个参数可省略。 \nGradeAverage 评委评分函数。计算引用存储格区域\u003Cem\u003E中\u003C\u002Fem\u003E去除最大值与最小值之后再求平均数。 \nGetFolderPathName 用于创建带链接的文件目录,有二个参数,第一参数为指定路径的字符串,第二参数指定取值编号(数字序号1--N)。 \nGetComment 提取存储格批注\u003Cem\u003E中\u003C\u002Fem\u003E的文字。只有一个参数,即单元格引用。 \nCommonItem 返回两个存储格区域的共有项目。前两个参数为区域,第三参数为取数序号1--N。 \nVarianceItem 返回第一区域\u003Cem\u003E中\u003C\u002Fem\u003E有而第二区域没有的项目。前两个参数是区域,第三参数为序号。 \nSplitGetValue 按分割符取数。第一参数为单元格引用,第二参数表示取第N个字符串,第三个参数表示分割符号,可任意字符。 \nUnionString 将区域字符进行合并。第一参数为分割符,第二参数为引用区域。可以用\"\"表示不使用分割符。第三参数开始为引用区域,可以有1到254个区域(\u003Cem\u003EExcel\u003C\u002Fem\u003E2003\u003Cem\u003E中\u003C\u002Fem\u003E是1到29个)。也还可以直接用文本\u003Cem\u003E做\u003C\u002Fem\u003E参数。 \n普通函数 BookName 取工作薄名称目录。一个参数,输入工作薄序号即返回相应工作薄名称。 \nSheetName 取工作表名称目录。一个参数,输入工作表序号即返回相应工作表名称。 \nGoldPoint 数学\u003Cem\u003E中\u003C\u002Fem\u003E黄金分割点的精确取值。 \nPI 数学\u003Cem\u003E中\u003C\u002Fem\u003EPI(π)的精确取值。PI=3.1415926535897932384626433832795. \n\u003Cem\u003E系统\u003C\u002Fem\u003E函数 Close\u003Cem\u003EExcel\u003C\u002Fem\u003E 不保存当前文档而直接退出\u003Cem\u003EEXCEL\u003C\u002Fem\u003E。 \nComputerChangeName 更改计算机名称。一个参数即任意的名称字符串。 \nComputerLock 电脑进入登出锁定状态。一个可选参数可以省略。 \nComputerSleep 电脑进入待机休眠状态。一个可选参数可以省略。 \nUSB USB盘的禁用与恢复启用。一个字符串参数即Enabled为启用,Disabled为禁用。 \n \n\n \n \n \n 对于无法安装的朋友请注意以下4点 : \n一:必须是完整版OFFICE,不能是绿色版、精简版,它们不支持COM加载宏. \n二:必须关闭\u003Cem\u003EExcel\u003C\u002Fem\u003E状态下安装或者删除工具,安装后重启\u003Cem\u003EExcel\u003C\u002Fem\u003E即可. \n三:如果是VISTA或WIN 7,必须以管理员用户安装,且从控制面板\u003Cem\u003E中\u003C\u002Fem\u003E关掉用户帐户控制(UAC)功能. \n四:如果您装了其它的\u003Cem\u003EEXCEL\u003C\u002Fem\u003E工具,请先关掉它,它们有可能删除本工具的菜单. \n安装方法:(也可参考安装说明.TXT文档) \n\n\n\n \n安装说明与使用规则: \n \n1.1.绿色版本安装:管理员用户运行Setup.exe进行安装程序! 运行UnSetup.exe进行反安装程序! \n1.2.绿色版本安装:非管理员用户可运行Register.bat进行安装程序! 运行UnRegister.bat进行反安装程序! \n \n2.1.若安装并使用后因误操作报错时(例如\u003Cem\u003EEXCEL\u003C\u002Fem\u003E\u003Cem\u003E打开\u003C\u002Fem\u003E后未能加载工具菜单),可以卸载后重新安装到另外\u003Cem\u003E不同\u003C\u002Fem\u003E的目录\u003Cem\u003E中\u003C\u002Fem\u003E即可恢复正常.(因微软COM的保护措施而致)! \n2.2.建议每天只\u003Cem\u003E打开\u003C\u002Fem\u003E\u003Cem\u003EEXCEL\u003C\u002Fem\u003E主程序一次为宜,保持\u003Cem\u003E打开\u003C\u002Fem\u003E状态不要关闭.(文档则可任意多次\u003Cem\u003E打开\u003C\u002Fem\u003E). \n \n3.1.由于免费标签插件\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003ETab\u003C\u002Fem\u003E.dll与\u003Cem\u003E系统\u003C\u002Fem\u003E的兼容性问题,安装后在使用过程\u003Cem\u003E中\u003C\u002Fem\u003E若出现屏幕微小抖动或影响正常使用时,请将安装目录Librarys\u003Cem\u003E中\u003C\u002Fem\u003E的\u003Cem\u003EExcel\u003C\u002Fem\u003E\u003Cem\u003ETab\u003C\u002Fem\u003E.dll \n文件改名或删除即可! (不过出现的几率为1%左右). 或者请下载后24小时之内将其删除即可,而不\u003Cem\u003E会\u003C\u002Fem\u003E影响本工具箱的功能! \n \n \n\n\n\n\n\n功能使用帮助动画: http:\u002F\u002Fxutu\u003Cem\u003E.net\u003C\u002Fem\u003E\u002Fviewfile\u002F2451\u002FN4Jx3Thi\u002F \u003Cem\u003EEXCEL\u003C\u002Fem\u003E集成工具箱V7.0使用帮助.rar\n\n\n\n \n需知更多请访问官方论坛: Http:\u002F\u002F\u003Cem\u003Eexcel\u003C\u002Fem\u003Etools.5d6d.com  留言或Email给作者。","createTime":"2010-09-11 01:44:37","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fjackeyliang2010\u002F2686709\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fjackeyliang2010\u002F2686709\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-2686709-bbs-60413839.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1770997481167_50923\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"}],"staffDOList":[{"id":null,"communityId":211,"username":"community_93","userNickname":"ASP.NET","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:07:05","updateTime":"2021-05-12 18:07:05","lastLoginTime":"2021-05-12 18:07:05"},{"id":null,"communityId":211,"username":"dotnetconf","userNickname":".Net开发者社区","roleCode":2,"status":1,"createUsername":"community_93","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2022-12-01 00:26:57","updateTime":"2022-12-01 00:26:57","lastLoginTime":"2022-12-01 00:26:57"},{"id":null,"communityId":211,"username":"weixin_41960540","userNickname":"R小R","roleCode":2,"status":1,"createUsername":"community_93","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Faa17748a52c84d88ba031f9895a4ea32_weixin_41960540.jpg!1","createTime":"2022-04-16 21:18:57","updateTime":"2022-04-16 21:18:57","lastLoginTime":"2022-04-16 21:18:57"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F60413839","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F60413839","typeId":"20680","hasIndex":false,"hasHeader":true},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["60413839"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F60413839","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F60413839","active":0,"navBarFixed":false,"title":"在.net做的系统中,用IE打开excel,点击不同tab页面会丢页","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":211,"topicId":60413839},"keywords":"","description":"以下内容是CSDN社区关于在.net做的系统中,用IE打开excel,点击不同tab页面会丢页相关内容,如果想了解更多关于.NET社区社区其他内容,请访问CSDN社区。","mounted":false,"infoNoticeData":{"src":"","href":"","spm":"","delay":5},"showDialogInfoNotice":false};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.b9884f01.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.5d3e3f67.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.cbc72838.js"></script></body> <!----> <script> window.csdn.sideToolbar = { options: { qr: { isShow: true, data: [ { imgSrc: 'https://csdnimg.cn/release/cmsfe/public/img/ewm.9010d6e5.png', desc: "关注公众号" }, ] }, help: { isShow: false, }, contentEl: document.getElementsByClassName("cloud-maintainer")[0] }, }; </script> <script src="https://g.csdnimg.cn/side-toolbar/2.9/side-toolbar.js" ></script> <!----> <!----> <!----> <script src="https://csdnimg.cn/release/blog_editor_html/release1.7.5/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> <script src="https://g.csdnimg.cn/lib/editor-page-detail/v2.2.0/js/runDetail.min.js"></script> <!----> <!----> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/common/csdn-cert/csdn-cert.js"></script> <!----></html>