如何利用javascript关闭手工打开的ie窗口而不弹出提示对话框?

bhh 2002-11-25 02:46:35
我利用javascript的window.close()关闭打开的窗口,但ie会自动弹出一个“是否确认要关闭该窗口?”的提示框,如何在程序里能做到不提示就直接能关闭窗口,望高手指教。
...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ls176 2002-12-05
  • 打赏
  • 举报
回复
为什么我使用这个方法时,IE还是弹出一个对话框:"仅在HTML帮助中才有此功能"

为什么会这样?
机器环境:winXP+IE6sp1
wangxj0600 2002-11-25
  • 打赏
  • 举报
回复
<OBJECT id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Minimize"></OBJECT>
<button onclick="min.Click()"><font face="webdings">0</font></button>
<OBJECT id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Maximize"></OBJECT>
<button onclick="max.Click()"><font face="webdings">1</font></button>
<OBJECT id="clo" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Close"></OBJECT>
<button onclick="clo.Click()"><font face="webdings">r</font></button>
qiushuiwuhen 2002-11-25
  • 打赏
  • 举报
回复
if i>1 then hh3.HHClick() else
bhh 2002-11-25
  • 打赏
  • 举报
回复
谢谢各位高手的指点,马上就成功了。

to: feng_sundy(晓风) ,你的方法的确简洁实用,但考虑到客户的多样性,能不能有更好的解决办法。

to:qiushuiwuhen(秋水无恨) ,按照你的代码,该窗口在打开的同时就会自动关闭,而我希望的是由我的程序控制,例如:if i>1 then window.close() else ...... end if,这样的情况能做到吗。

我会给你们每个人都加分的,放心。再次感谢。
qiushuiwuhen 2002-11-25
  • 打赏
  • 举报
回复
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>

<body onload=hh3.Click()>



feng_sundy 2002-11-25
  • 打赏
  • 举报
回复
如果是IE5.5和以上版本,可以这样写
window.opener=null;
window.close();

应该是可以的。。。
bhh 2002-11-25
  • 打赏
  • 举报
回复
up
bhh 2002-11-25
  • 打赏
  • 举报
回复
谢谢,但是按照你写的,必须认为点击关闭按钮,窗口才能关闭,如何做到不用人点,由程序控制,自动关闭。
gzh_seagull 2002-11-25
  • 打赏
  • 举报
回复
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>

<input type=button value=关闭 onclick=hh3.Click()>
ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的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.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-09-29 v2.3.2 -不绑定任何数据到Grid时,确保页面不会错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。 -增加土耳其语言资料文件(feedback:abdullaharslan)。 -Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。 -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的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 +为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。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(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)。 -Grid中TemplateField生成到页面中控件具有唯一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(CSS中class名不能有$字符)。 +去除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会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert对话框会遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击关闭按钮时报JS错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果弹窗口(Ext-Window)含有ASP.NET控件FileUpload,则此弹窗口关闭现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接错,请刷新页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层代码优化(主要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不会修改弹页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个弹页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件弹B页面,B页面有Ext-Window控件弹C页面,B页面的Ext-Window控件设置Target='_parent',则弹的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面弹窗口,这样用户直接访问B页面也不会错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭Ext-Window,再然后刷新父页面或回发父页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。 ---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。 -如果弹窗口(Window控件)中IFrame的页面不能正常加载(网络暂时错或页面抛异常),则此时点击右上角的关闭按钮会报JS错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,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中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报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不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到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] -可以方便的在子页面(iframe)中通过js切换父页面中选中的菜单项(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属性,为字符串时会错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对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中的容器,比如ContentPanel需要在外层加上标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例中表单控件都已支持设计)。[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中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[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中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了弹下级菜单,点击没反应,则可以这样设置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的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法: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后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有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 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否弹的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个按钮弹窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化弹窗口中IFrame的显示速度。[fixed] -在当前页面弹窗口需要~20ms,在父页面弹窗口需要100~300ms。通过缓存弹窗口实例,从而第二次弹窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.extjs.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再弹IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击关闭窗口的按钮,在IE6下会有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame弹窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否弹窗口窗口标题、IFrameUrl"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击关闭窗口的按钮,在IE下会有JS错误。[fixed] -Window的右上角关闭图标增加提示,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,打开iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的提示尽早的显示来。[fixed] -首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示来。 -加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并关闭按钮和Asp.netAjax冲突。[fixed] -优化关闭Window的js脚本,减少写到页面的js大小。[fixed] -加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed] +弹窗口中,点击按钮回发然后点击关闭按钮,现js错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会错,同时去除DesignTimeStyle控件(作为PageManager的属性现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮弹IFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中弹窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox弹窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面弹窗口或者在当前页面弹窗口,仅仅设置Window的Target属性即可。 -示例4,弹窗口中的弹窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame不会有残影现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed] +规范关闭窗口提示用户保存已经修改的内容提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。 -参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息中的换行符(转换为),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed] -虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。 -但是通过用来代替,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会现各种问题,比如下拉列表显示样式错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现内容区域的内容全部为空了![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选中样式微调。[fixed] -预加载Form表单错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript中不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。 -弹Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是"#"。[fixed] +弹窗口中的弹窗口的如果内容发生变化,则点击右上角的关闭按钮时会有提示用户先保存的对话框,但是这个对话框的被第二个弹窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在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。 +TabStrip中放置IFrame会现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置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没有数据,向后翻页按钮可以点击的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控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和关闭窗口(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +关闭提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角关闭按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed] -关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要弹对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角关闭按钮的提示保存功能。 -Master/Content的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体中的
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。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(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)。 -Grid中TemplateField生成到页面中控件具有唯一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(CSS中class名不能有$字符)。 +去除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>中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert<em>对话框</em>会遮挡所有的Window<em>窗口</em>。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义<em>JavaScript</em>组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击<em>关闭</em>按钮时报JS错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果弹<em>出</em>的<em>窗口</em>(Ext-Window)含有ASP.NET控件FileUpload,则此弹<em>出</em><em>窗口</em>在<em>关闭</em>时<em>出</em>现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接<em>出</em>错时的“Ajax Error”改成更加友好的<em>提示</em>信息“本次连接失败!可能是网络连接<em>出</em>错,请刷新页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层代码优化(主要是<em>Javascript</em>的封装和BUG修复)。[fixed] -底层使用<em>Javascript</em>创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认<em>提示</em>框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不会修改弹<em>出</em>页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个弹<em>出</em>页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件弹<em>出</em>B页面,B页面有Ext-Window控件弹<em>出</em>C页面,B页面的Ext-Window控件设置Target='_parent',则弹<em>出</em>的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面弹<em>出</em><em>窗口</em>,这样用户直接访问B页面也不会<em>出</em>错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后<em>关闭</em>弹<em>出</em><em>窗口</em>的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后<em>关闭</em>弹<em>出</em>Ext-Window,再然后刷新父页面或回发父页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在<em>关闭</em><em>窗口</em>。 ---现在可以很方便的为Window控件的<em>关闭</em>按钮添加<em>关闭</em>后刷新父页面或者<em>关闭</em>后回发父页面的行为。 -如果弹<em>出</em><em>窗口</em>(Window控件)中IFrame的页面不能正常加载(网络暂时<em>出</em>错或页面抛<em>出</em>异常),则此时点击右上角的<em>关闭</em>按钮会报JS错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的<em>关闭</em>按钮<em>关闭</em>弹<em>出</em>含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,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中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -页面加载过程中的时间信息保存在<em>Javascript</em>变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前<em>窗口</em>,父<em>窗口</em>,顶级<em>窗口</em>重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报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不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能<em>提示</em>。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能<em>提示</em>。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为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] -可以方便的在子页面(iframe)中通过js切换父页面中选中的菜单项(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)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对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中的容器,比如ContentPanel需要在外层加上<Items>标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML代码和<em>Javascript</em>代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提<em>出</em>。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例中表单控件都已支持设计)。[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中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[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等布局的话,需要<em>手工</em>指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/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的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法: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后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会<em>出</em>错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/<em>出</em>纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有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 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会<em>出</em>错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否弹<em>出</em>的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃<em>Javascript</em>。 -比如简单的点击一个按钮弹<em>出</em><em>窗口</em>,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -主要是父页面加载一个比较大的css文件(~100k),则每次<em>打开</em>iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化弹<em>出</em><em>窗口</em>中IFrame的显示速度。[fixed] -在当前页面弹<em>出</em><em>窗口</em>需要~20ms,在父页面弹<em>出</em><em>窗口</em>需要100~300ms。通过缓存弹<em>出</em>的<em>窗口</em>实例,从而第二次弹<em>出</em><em>窗口</em>不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyle<em>Javascript</em>/ApplyParentStyle<em>Javascript</em>),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.extjs.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再弹<em>出</em>IFrame<em>窗口</em>。[fixed] -在回发时设置<em>窗口</em>的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在<em>关闭</em><em>窗口</em>时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击<em>关闭</em><em>窗口</em>的按钮,在IE6下会有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame弹<em>出</em><em>窗口</em><em>关闭</em>后回发父页面,则会多加载IFrame一次,再次<em>打开</em><em>窗口</em>会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否弹<em>出</em><em>窗口</em>、<em>窗口</em>标题、IFrameUrl"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击<em>关闭</em><em>窗口</em>的按钮,在IE下会有JS错误。[fixed] -Window的右上角<em>关闭</em>图标增加<em>提示</em>,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,<em>打开</em>iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE<em>窗口</em>最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的<em>javascript</em>框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的<em>提示</em>尽早的显示<em>出</em>来。[fixed] -首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示<em>出</em>来。 -加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载<em>出</em>错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并<em>关闭</em>按钮和Asp.netAjax冲突。[fixed] -优化<em>关闭</em>Window的js脚本,减少写到页面的js大小。[fixed] -加快“保存并<em>关闭</em>”按钮<em>关闭</em><em>窗口</em>的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed] +弹<em>出</em><em>窗口</em>中,点击按钮回发然后点击<em>关闭</em>按钮,<em>出</em>现js错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个<em>手工</em>添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了<em>手工</em>去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会<em>出</em>错,同时去除DesignTimeStyle控件(作为PageManager的属性<em>出</em>现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后<em>Javascript</em>渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮弹<em>出</em>IFrame<em>窗口</em>,可直接<em>关闭</em>父页面,也可在<em>关闭</em>后刷新或回发父页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中<em>打开</em>包含有页面C的<em>窗口</em>时,<em>窗口</em>不是在B中<em>打开</em>,而是在A中<em>打开</em>,这样才能保证<em>窗口</em>覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们<em>窗口</em>是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中弹<em>出</em><em>窗口</em>。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox弹<em>出</em><em>窗口</em>。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面弹<em>出</em><em>窗口</em>或者在当前页面弹<em>出</em><em>窗口</em>,仅仅设置Window的Target属性即可。 -示例4,弹<em>出</em><em>窗口</em>中的弹<em>出</em><em>窗口</em>。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次<em>打开</em>Window中的IFrame不会有残影<em>出</em>现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed] +规范<em>关闭</em><em>窗口</em>时<em>提示</em>用户保存已经修改的内容<em>提示</em>的调用方式(包含iframe中<em>关闭</em>按钮和window右上角<em>关闭</em>图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并<em>关闭</em>按钮”,可以将<em>关闭</em><em>窗口</em>的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再<em>关闭</em><em>窗口</em>。 -参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会<em>出</em>滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当<em>提示</em>信息特别长时,可以让用户阅读完毕之后<em>手工</em><em>关闭</em><em>提示</em>信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤<em>提示</em>消息中的换行符(转换为<br/>),否则<em>提示</em>信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须<em>手工</em>设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[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下显示的不同效果。 -但是通过用<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] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会<em>出</em>现各种问题,比如下拉列表显示样式<em>出</em>错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会<em>出</em>现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变<em>窗口</em>大小时你会惊讶的发现内容区域的内容全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的代码让我想起刷新<em>窗口</em>时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡<em>出</em>效果。[fixed] -Accordion选中样式微调。[fixed] -预加载Form表单<em>出</em>错时<em>提示</em>信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示<em>出</em>来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时<em>关闭</em>当前<em>窗口</em>[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的<em>javascript</em>中不能有return false语句。 +在文本框失去焦点时,执行一些<em>Javascript</em>脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用<em>javascript</em>监视文本框值的改变。 -弹<em>出</em>Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是"#"。[fixed] +弹<em>出</em>的<em>窗口</em>中的弹<em>出</em><em>窗口</em>的如果内容发生变化,则点击右上角的<em>关闭</em>按钮时会有<em>提示</em>用户先保存的<em>对话框</em>,但是这个<em>对话框</em>的被第二个弹<em>出</em><em>窗口</em>覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在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。 +TabStrip中放置IFrame会<em>出</em>现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置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没有数据,向后翻页按钮可以点击的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控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和<em>关闭</em>弹<em>出</em>的<em>窗口</em>(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要<em>手工</em>添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +<em>关闭</em>前<em>提示</em>当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角<em>关闭</em>按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed] -<em>关闭</em>Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要弹<em>出</em><em>对话框</em><em>提示</em>(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可<em>提示</em>先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角<em>关闭</em>按钮的<em>提示</em>保存功能。 -Master/Content的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会<em>出</em>错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体中的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx/simpleform.aspx)[fixed] -在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面<em>窗口</em>的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是<em>窗口</em>的标题栏和下边框的高度。 +<em>关闭</em>Iframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed] +Grid完善。 -去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多问题(主要是状态保持的问题)。 +EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx) -使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。 +增加AllowPaging属性。(示例在grid_paging.aspx) -使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。 +数据库分页支持。(示例在grid_database_paging.aspx) -使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.PageIn</a></div><div data-report-view="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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/a525235942/2284257" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>网管教程 从入门到精通软件篇.txt</a></div> <a target="_blank" href="https://download.csdn.net/download/a525235942/2284257" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统<em>出</em>现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令<em>提示</em>符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列<em>出</em>引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列<em>出</em>并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令<em>提示</em>符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输<em>出</em>获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot   向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。   fixboot [drive]   参数  驱动器   将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:   范例   下列命令范例向驱动器 D: 的系统分区写入新的分区引导扇区:   fixboot d:   注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。   Fixmbr   修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。   fixmbr [ device_name]   参数   device_name   要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输<em>出</em>获得。例如,设备名称:   DeviceHardDisk0   范例   下列命令示例向指定设备写入一个新的主引导记录:   fixmbr DeviceHardDisk0   注意 如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。 如果系统检测到无效或非标准分区表标记,将<em>提示</em>用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。   format   将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令<em>提示</em>符下使用带有不同参数的 format 命令。   format [ drive:] [ /fs:file-system]   参数   drive:   指定要格式化的驱动器。不能从故障恢复控制台格式化软盘。   /q   对驱动器进行快速格式化。不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。   /fs:file-system   指定要使用的文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。   Map   显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。   map 命令仅在使用故障恢复控制台时才可用。   Map [ arc]   参数   arc   指示 map 命令显示高级 RISC 计算 (ARC)设备名称而不是设备名称。以下是 ARC 设备名称的范例:   multi(0)disk(0)rdisk(0)partition(1)   等价的设备名称是:   DeviceHardDisk0Partition1   范例   下例将物理设备名映射为使用 ARC 设备名称的驱动器号:   map arc   注意 如果不使用 arc 参数,则 map 命令显示设备名称。 map 命令还显示文件系统的类型和每个磁盘的大小(MB)。 二。★★★常见文件扩展名和它们的说明 常见文件扩展名和它们的说明 A ACE:Ace压缩档案格式 ACT:Microsoft office助手文件 AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 ANI:Windows系统中的动画光标 ARC:LH ARC的压缩档案文件 ARJ:Robert Jung ARJ压缩包文件 ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming format,ASF)的描述文件;可用NSREX<em>打开</em> Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言源文件,Pro/E装配文件 ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 AST:Astound多媒体文件;ClarisWorks“助手”文件 Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh未打包文件 A3W,A4W,A5W:未打包的Authorware Windows文件 B BAK:备份文件 BAS:BASIC源文件 BAT:批处理文件 BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音捆绑文件(一种MIDI程序) C C0l:台风波形文件 CAB:Microsoft压缩档案文件 CAD:Softdek的Drafix CAD文件 CAM:Casio照相机格式 CAP:压缩音乐文件格式 CAS:逗号分开的ASCⅡ文件 CCB:Visual Basic动态按钮配置文件 CCH:Corel图表文件 CCO:CyberChat数据文件 CCT:Macromedia Director Shockwave投影 CDA:CD音频轨道 CDF:Microsoft频道定义格式文件 CDI:Philip的高密盘交互格式 CDM:Visual dBASE自定义数据模块文件 CDR:CorelDRAW绘图文件;原始音频CD数据文件 CDT:CorelDRAW模板 CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件 CFG:配置文件 CGI:公共网关接口脚本文件 CGM:计算机图形元文件 CH:OS/2配置文件 CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 CHM:编译过的HTML文件 CHP:Ventura Publisher章节文件 CHR:字符集(字体文件) CHT:ChartViem文件;Harvard Graphics矢量文件 CIF:Adaptec CD 创建器 CD映像文件 CIL:Clip Gallery下载包 CIM:SimCity 2000文件 CIN:OS/2改变控制文件用于跟踪INI文件中的变化 CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 CPI:Microsoft MS-DOS代码页信息文件 CPL:控制面板扩展名,Corel颜色板 CPP:C++代码文件 CPR:Corel提供说明书文件 CPT:Corel 照片-绘画图像 CST:Macromedia Director Cast文件 CUR:Windows光标文件 D DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97<em>打开</em>);Oracle 8.1.x表格空间文件 DBX:DataBearn图像;Microsoft Visual FoxPro表格文件 DCT:Microsoft Visual FoxPro数据库容器 DCU:Delphi编译单元文件 DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏 DIR:MacromediaDirector文件 DLL:动态链接库 DOC:FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft:Word文档;DisplayWrite文档 DOT:Microsoft Word文档模板 DPL:Borland Delph 3压缩库 DRV:驱动程序 DRW:Micrografx Designer/Draw;Pro/E绘画文件 DSF:Micrografx Designer VFX文件 DSG:DOOM保存的文件 DSM:Dynamic Studio音乐模块(MOD)文件 DSP:Microsoft Developer Studio工程文件 DSQ:Corel QUERY(查询)文件 DST:刺绣机图形文件 DSW:Microsoft Developer Studio工作区文件 DTA:World Bank(世界银行)的STARS数据文件 DTD:SGML文档类型定义(DTD)文件 DTED:地面高度数字数据(图形的数据格式)文件 DTF:Symantec Q&A相关的数据库数据文件 DTM:DigiTrakker模块文件 DUN:Microsoft拔号网络导<em>出</em>文件 DV:数字视频文件(MIME) DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式 DXR:Macromedia Director受保护(不可编辑)电影文件 E EDA:Ensoniq ASR磁盘映像 EDD:元素定义文档(FrameMaker+SGML文档) EDE:Ensoniq EPS磁盘映像 EDK:Ensoniq KT磁盘映像 EDQ:Ensoniq SQ1/SQ2/Ks32磁盘映像 EDS:Ensoniq SQ80磁盘映像 EDV:Ensoniq VFX-SD磁盘映像 EFA:Ensoniq ASR文件 EFE:Ensoniq EPS文件 EFK:Ensoniq KT文件 EFQ:Ensoniq SQ1/SQ2/Ks32文件 EFS:Ensoniq SQ80文件 EFV:Ensoniq VFX-SD文件 EMD:ABT扩展模块 EMF:Windows增强元文件 EML:Microsoft Outlook Express邮件消息(MIME RTC822)文件 EXE:可执行文件(程序) F FAV:Microsoft Outlook导航条 FAX:传真类型图像 FCD:虚拟CD-ROM FDF:Adobe Acrobat表单文档文件 FLA:Macromedia Flash电影 FND:Microsoft Explorer保存的搜索文件(Find applet) FON:系统字体 FRT:Microsoft FoxPro报表文件 FRX:Visual Basic表单文本;Microsoft FoxPro报表文件 FXP:经Microsoft FoxPro编译的源文件 G GDM:铃声、口哨声和声音板模块格式 GetRight:GetRight未完成的下载文件 GHO:Norton 克隆磁盘映像 GID:Windows 95全局索引文件(包括帮助状态) GIF:CompuServe位图文件 GL:动画格式 GRP:程序管理组 H HEX:Macintosh BinHex2.0文件 HLP:帮助文件;Date CAD Windows帮助文件 HPP:C++程序头文件 HQX:Macintosh BinHex 4.0文件 HT:HyperTerminal(超级终端) HTM,HTML:超文本文档 HTT:Microsoft超文本模板 HTX:扩展HTML模板 I ICO:Windows图标 IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件 IMG:GEM映像 INF:信息文件 INI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装 INP:Oracle 3.0版或早期版本的表单源代码 INRS:INRS远程通信声频 INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备 INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码 IOF:Findit文档 IQY:Microsoft Internet查询文件 ISO:根据ISD 9660有关CD-ROM文件系统标准列<em>出</em>CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:脉冲跟踪系统抽样,Internet文档位置 IV:Open Inventor中使用的文件格式 IVD:超过20/20微观数据维数或变量等级文件 IVP:超过20/20的用户子集配置文件 IVT:超过20/20表或集合数据文件 IVX:超过20/20微数据目录文件 IW:Idlewild屏幕保护程序 IWC:Install Watch文档 J J62:Ricoh照相机格式 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形文件 JS:<em>javascript</em>源文件 JSP:HTML网页,其中包含有对一个Java servlet的参考 K KAR:卡拉OK MIDI文件(文本+MIDI) L LAB:Visual dBASE标签文件 LBT,LBX:Microsoft FoxPro标签文件 LDB:Microsoft Access加锁文件 LHA:LZH更换文件后缀 LOG:日志文件 LZH:LH ARC压缩档案 M M1V:MPEG相关文件(MIME"mpeg"类型) M3D:Corel Motion 3D动画文件 M3U:MPEG URL(MIME声音文件) MAM:Microsoft Access宏 MAQ:Microsoft Access查询文件 MAR:Microsoft Access报表文件 MBX:Microsoft Outlook保存email格式;Eudora邮箱 MCW:Microsoft Word的Macintosh文档 MDB:Microsoft Access数据库 MDN:Microsoft Access空数据库模板 MDW:Microsoft Access工作组文件 MID:MIDI音乐 MMM:Microsoft多媒体电影 MOV:QuickTime for Windows电影 MP2:第二层MPEG音频文件 MP3:第三层MPEG音频文件 MPA:MPEG相关文件,MIME“mpeg类型” MPE,MPEG,MPG:MPEG动画文件 MPP:Microsoft工程文件;CAD绘图文件格式 MPR:Microsoft FoxPro菜单(已编译) MSI:Windows 安装器包 MSN:Microsoft 网络文档;Descent Mission文件 O OBD:Microsoft Office活页夹 OBJ:对象文件 OBZ:Microsoft Office活页夹向导 OCX:Microsoft对象链接与嵌入定制控件 ODS:Microsoft Outlook Express邮箱文件 OFT:Microsoft Outlook模板 OPX:OPL扩展DLL(动态链接库) OSS:Microsoft Office查找文件 OST:Microsoft Exchange / Outlook 离线文件 P PAL:压缩文件 PART:Go!Zilla部分下载文件 PAS:Pascal源代码 PCS:PICS动画文件 PDF:Adobe Acrobat 可导<em>出</em>文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件 PHP,PHP3:包含有PHP脚本的HTML网页 PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML PM5:Pagemaker 5.0文件 PM6:Pagemaker 6.0文件 PPS:Microsoft Powerpoint幻灯片放映 PPT:Microsoft Powerpoint演示文稿 PRF:Windows系统文件,Macromedia导演设置文件 PSD:Adobe photoshop位图文件 PSM:Protracker Studio模型格式;Epic游戏的源数据文件 PST:Microsoft Outlook个人文件夹文件 PWL:Windows 95口令列表文件 Q QIF:QuickTime相关图像(MIME);Quicken导入文件 QT,QTM:QuickTime电影 QTI,QTIF:QuickTime相关图像 QTP:QuickTime优先文件 QTS:Mac PICT图像文件;QuickTime相关图像 QTX:QuickTime相关图像 R RA:RealAudio声音文件 RAM:RealAudio元文件 RAR:RAR压缩档案(Eugene Roshall格式) REC:录音机宏;RapidComm声音文件 REG:注册表文件 REP:Visual dBASE报表文件 RES:Microsoft Visual C++资源文件 RM:RealAudio视频文件 RMF:Rich Map格式(3D游戏编辑器使用它来保存图) ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari 2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改) Rxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字) S SAV:游戏保存文件 SB:原始带符号字节(8位)数据 SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x Bank文件 SBL:Shockwave Flash对象文件 SCF:Windows Explorer命令文件 SCH:Microsoft Schedule+1 SCP:拨号网络脚本文件 SCR:Windows屏幕保护;传真图像;脚本文件 SFX:RAR自解压档案 SHTML:含有服务器端包括(SSI)的HTML文件 SPL:Shockwave Flash对象;DigiTrakker抽样 SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名 STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件 STR:屏幕保护文件 SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件 SWF:Shockwave Flash对象 SYS:系统文件 T T64:Commodore 64仿真器磁带映像文件 THEME:Windows 95桌面主题文件 TIF,TIFF:标签图像文件格式(TIFF)位图 TMP:Windows临时文件 TRM:终端文件 TXT:ASCⅡ文本格式的声音数据 TZ:老的压缩格式文件 V VBA:VBase文件 VBP:Microsoft Visual Basic工程文件 VBW:Microsoft Visual Basic工作区文件 VBX:Microsoft Visual Basic用户定制控件 VQE,VQL:Yamaha Sound-VQ定位器文件 VQF:Yamaha Sound-VQ文件(可能<em>出</em>现标准) VRF:Oracle 7配置文件 VSL:下载列表文件(GetRight) W WAB:Microsoft Outlook文件 WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件 WAL:Quake 2正文文件 WAV:Windows波形声形 WBK:Microsoft Word备份文件 WFM:Visual dBASE Windows表单 WFN:在CorelDRAW中使用的符号 WIZ:Microsoft Word向导 WRL:虚拟现实模型 WWL:Microsoft Word内插器文件 X XLK:Microsoft Excel备份 XLL:Microsoft Excel内插器文件 XLM:Microsoft Excel宏 XLS:Microsoft Excel工作单 XLT:Microsoft Excel模板 XLV:Microsoft Excel VBA模块 XLW:Microsoft Excel工作簿/工作区 Z ZAP:Windows软件安装配置文件 ZIP:Zip文件 000-999:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号 12M:Lotus 1-2-3 97 SmartMaster文件 123:Lotus 1-2-3 97文件 2D:VersaCAD的2维绘画文件 2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件 386:在386或更高级处理器上使用的文件 3D:VersaCAD的3维绘画文件 3DM:3D NURBS建模器,Rhino 3DS:3D Studio(DOS下)格式文件 386:在386或更高级处理器上使用的文件 4GE:Informix 4GL编译后代码 4GL:Informix 4GL源代码 669:Composer 669;UNIX Composer音乐模型文件;669磁道模块 #01 及更高的号:为计算机演示而扫描的一系列电影的图片文件编号方法 ???:OS/2用来跟踪档案文件 @@@:用于安装过程中的屏幕文件和用于Microsoft Code view for C这样的应用程序的指导文件 [color=#6b6b6b] [/color] 三。★★★GHOST怎么用? 系统备份 使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面弹<em>出</em>的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。 选Local→Partition→To Image菜单,弹<em>出</em>硬盘选择<em>窗口</em>,开始分区备份操作。点击该<em>窗口</em>中白色的硬盘信息条,选择硬盘,进入<em>窗口</em>,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。 在弹<em>出</em>的<em>窗口</em>中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给<em>出</em>3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。 系统克隆 硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在弹<em>出</em>的<em>窗口</em>中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。 Ghost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据内容装下。 Ghost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。 系统还原 如果硬盘中备份的分区数据受到损坏,用一般数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 要恢复备份的分区,就在界面中选择菜单Local→Partition→From Image,在弹<em>出</em><em>窗口</em>中选择还原的备份文件,再选择还原的硬盘和分区,点击Yes按钮即可。 软件特性 存贮介质 Ghost 支持的存储介质超<em>出</em>了我们的想象,它支持对等LPT接口、对等USB接口、对等TCP/IP接口、SCSI磁带机、便携式设备(JAZ、ZIP、MO等)、光盘刻录机(CDR、CDRW)等。而这些特性不需要任何外带的驱动程序和软件,只需一张软盘就可以做到!特别是对光盘刻录机的支持,如今的刻录机和空白光盘都十分便宜,非常适合作备份的用途。 兼容性 Ghost 对现有的操作系统都有良好的支持,包括FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL等文件存储格式。同以前版本不同的是,Ghost 2001加入了对Linux EX2的支持(FIFO文件存储格式),这也就意味着Linux的用户也可以用Ghost来备份系统了。 配套软件支持 Ghost浏览器:在以前的Ghost版本中,我们只能对系统进行简单的备份、复制、还原,要恢复单个的文件和文件夹还要使用外带的GhostEXP软件。现在,Symantec公司已经将Ghost浏览器整合在软件中。Ghost浏览器采用类似于资源管理器的界面,通过它,我们可以方便迅速地在备份包中找<em>出</em>我们想要的文件和文件夹并还原。 Gdisk:Gdisk是一个新加入的实用工具,它彻底取代了FDisk和format: * 快速格式化。 * 隐藏和显示分区的能力。此功能允许一个以上的主DOS分区,并且每个分区上的操作系统有不同的版本。隐藏分区的能力使计算机习惯于引导到选定的可引导分区,忽略其他隐藏分区中相同操作系统的安装。 * 全面的分区报告。 * 高度安全的磁盘擦除。提供符合美国国防部标准和更高安全标准的磁盘擦除选项。 和使用交互式菜单的FDisk不同,GDisk是由命令行驱动的。这提供了更快的配置磁盘分区和在批处理文件中定义GDisk操作的能力。但与此同时,几十个参数会令普通用户头疼,因此笔者不推荐一般用户使用,Symantec公司也应该推<em>出</em>相应的GUI(图形用户界面)控制台以方便用户使用。具体的参数说明可以用命令行gdisk/?了解。 Live Update Live Update是Symantec公司软件的一个通用升级程序,它能够检查当前系统中已安装的Symantec软件,并且通过英特网对软件进行在线升级。 在安装Ghost 2001时,安装程序自动升级了Live Update程序的版本。 Ghost 的进阶篇 附加的命令行参数:(限Ghost的无人备份/恢复/复制) 其实Ghost 2001的功能远远不止它主程序中显示的那些,Ghost可以在其启动的命令行中添加众多参数以实现更多的功能。命令行参数在使用时颇为复杂,不过我们可以制作批处理文件,从而“一劳永逸”(类似于无人安装Windows 98和Windows 2000)现在让我们来了解一些常用的参数(了解更加详细的参数介绍可查看Ghost的帮助文件)。 1.-rb 本次Ghost操作结束退<em>出</em>时自动重启。这样,在复制系统时就可以放心离开了。 2.-fx 本次Ghost操作结束退<em>出</em>时自动回到DOS<em>提示</em>符。 3.-sure 对所有要求确认的<em>提示</em>或警告一律回答“Yes”。此参数有一定危险性,只建议高级用户使用。 4.-fro 如果源分区发现坏簇,则略过<em>提示</em>强制拷贝。此参数可用于试着挽救硬盘坏道中的数据。 [email=5.@filename][color=#0000ff]5.@filename[/color][/email] 在filename中指定txt文件。txt文件中为Ghost的附加参数,这样做可以不受DOS命令行150个字符的限制。 6.-f32 将源FAT16分区拷贝后转换成FAT32(前提是目标分区不小于2G)。WinNT 4和Windows95、97用户慎用。 7.-bootcd 当直接向光盘中备份文件时,此选项可以使光盘变成可引导。此过程需要放入启动盘。 8.-fatlimit 将NT的FAT16分区限制在2G。此参数在复制Windows NT分区,且不想使用64k/簇的FAT16时非常有用。 9.-span 分卷参数。当空间不足时<em>提示</em>复制到另一个分区的另一个备份包。 10.-auto 分卷拷贝时不<em>提示</em>就自动赋予一个文件名继续执行。 11.-crcignore 忽略备份包中的CRC ERROR。除非需要抢救备份包中的数据,否则不要使用此参数,以防数据错误。 12.-ia 全部映像。Ghost会对硬盘上所有的分区逐个进行备份。 13.-ial 全部映像,类似于-ia参数,对Linux分区逐个进行备份。 14.-id 全部映像。类似于-ia参数,但包含分区的引导信息。 15.-quiet 操作过程中禁止状态更新和用户干预。 16.-script 可以执行多个Ghost命令行。命令行存放在指定的文件中。 17.-span 启用映像文件的跨卷功能。 18.-split=x 将备份包划分成多个分卷,每个分卷的大小为x兆。这个功能非常实用,用于大型备份包复制到移动式存储设备上,例如将一个1.9G的备份包复制到3张刻录盘上。 19.-z 将磁盘或分区上的内容保存到映像文件时进行压缩。-z或-z1为低压缩率(快速);-z2为高压缩率(中速);-z3至-z9压缩率依次增大(速度依次减慢)。 20.-clone 这是实现Ghost无人备份/恢复的核心参数。使用语法为: -clone,MODE=(operation),SRC=(source),DST=(destination),[SZE(size),SZE(size)......] 此参数行较为复杂,且各参数之间不能含有空格。   其中operation意为操作类型,值可取:copy:磁盘到磁盘;load:文件到磁盘;dump:磁盘到文件;pcopy:分区到分区;pload:文件到分区;pdump:分区到文件。 Source意为操作源,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径。 Destination意为目标位置,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径;@CDx,刻录机,x表示刻录机的驱动器号,从1开始。 下面举例说明 命令行参数:ghostpe.exe -clone,mode=copy,src=1,dst=2 完成操作:将本地磁盘1复制到本地磁盘2。 命令行参数:ghostpe.exe -clone,mode=pcopy,src=1:2,dst=2:1 完成操作:将本地磁盘1上的第二分区复制到本地磁盘2的第一分区。 命令行参数:ghostpe.exe-clone,mode=load,src=g:Λprtdisk.gho,dst=1,sze1=450M,sze2=1599M,sze3=2047M 完成操作:从映像文件装载磁盘1,并将第一个分区的大小调整为450MB,第二个调整为1599MB,第三个调整为2047MB。 命令行参数:ghostpe.exe -clone,mode=pdump,src2:1:4:6,dst=d:prt246.gho 完成操作:创建仅具有选定分区的映像文件。从磁盘2上选择分区1、4、6。 了解了这些参数后,我们就可以轻松地实现Ghost的无人备份/复制/恢复了。冲杯咖啡吧。 一些示例 ghost.exe -clone,mode=copy,src=1,dst=2 -sure 硬盘对拷 ghost.exe -clone,mode=pcopy,src=1:2,dst=2:1 -sure 将一号硬盘的第二个分区复制到二号硬盘的第一个分区 ghost.exe -clone,mode=pdump,src=1:2,dst=g:bac.gho 将一号硬盘的第二个分区做成映像文件放到g分区中 ghost.exe -clone,mode=pload,src=g:bac.gh2,dst=1:2 从内部存有两个分区的映像文件中,把第二个分区还原到硬盘的第二个分区 ghost.exe -clone,mode=pload,src=g:bac.gho,dst=1:1 -fx -sure -rb 用g盘的bac.gho文件还原c盘。完成后不显示任何信息,直接启动。 ghost.exe -clone,mode=load,src=g:bac.gho,dst=2,SZE1=60P,SZE2=40P 将映像文件还原到第二个硬盘,并将分区大小比例修改成60:40 还原磁盘 首先做一个启动盘,包含Config.sys,Autoexec.bat,Command.com,Io.sys,Ghost.exe文件(可以用windows做启动盘的程序完成)。 Autoexec.bat可以包含以下命令: Ghost.exe -clone,mode=pload,src=d:bac.gho,dst=1:1 -fx -sure -rb <em>利用</em>在d盘的文件自动还原,结束以后自动跳<em>出</em>ghost并且重新启动。 开机自动做C区的备份,在D区生成备份文件bac.gho。 ghost.exe -clone,mode=pdump,src=1:1,dst=d:bac.gho -fx -sure -rb 还原光盘 包含文件:Config.sys,Autoexec.bat,Mscdex.exe(CDROM执行程序),Oakcdrom.sys(ATAPI CDROM兼容驱动程序),Ghost.exe Config.sys内容为: DEVICE=OAKCDROM.SYS /D:IDECD001 Autoexec.bat内容为: MSCDEX.EXE /D:IDECE001 /L:Z Ghost -clone,mode=load,src=z:bac.gho,dst=1:1 -sure -rb 可以根据下面的具体说明修改实例 -clone 在使用时必须加入参数,它同时也是所有的switch{batch switch}里最实用的一种,下面是clone所定义的参数 -clone, mode={copy|load|dump|pcopy|pload|pdump}, src={drive|file|driveartition}, dst={drive|file|driveartition} mode指定要使用哪种clone所提供的命令 copy 硬盘到硬盘的复制(disk to disk copy) load 文件还原到硬盘(file to disk load) dump 将硬盘做成映像文件(disk to file dump) pcopy 分区到分区的复制(partition to partition copy) pload 文件还原到分区(file to partition load) pdump 分区备份成映像文件(partition to file dump) src指定了ghost运行时使用的源分区的位置模式及其意义: mode命令 对应mode命令src所使用参数 例子 COPY/DUMP 源硬盘号。 以1代表第一号硬盘 LOAD 映像文件名 g:/back98/setup98.gho 或装置名称(drive) PCOPY/PDUMP 源分区号。 1:2代表的是硬盘1的第二个分区 PLOAD 分区映像文件名加上分区号或是驱动器名加上分区号。 g:back98setup98.gh2,代表映像文件里的第二个分区 dst运行Ghost时使用的目标位置模式及其意义: mode命令 对应mode命令dst所使用参数 例子 COPY/DUMP 目的硬盘号。 2代表第二号硬盘 LOAD 硬盘映像文件名。 例g:back98setup98.gho PCOPY/PLOAD 目的分区号。 2:2 代表的是,硬盘2的第二个分区 PDUMP 分区映像文件名加分区号。 g:back98setup98.gh2 SZEn指定所使用目的分区的大小 n=xxxxM 指定第n目的分区的大小为xxxxMB SZE2=800M表示分区2的大小为800MB n=mmP 指定地n的目的分区的大小为整个硬盘的mm个百分比。 其他参数 -fxo 当源物件<em>出</em>现坏块时,强迫复制继续进行 -fx 当ghost完成新系统的工作后不显示"press ctrl-alt-del to reboot"直接回到DOS下 -ia 完全执行扇区到扇区的复制。当由一个映像文件或由另一个硬盘为来源,复制一个分区时,Ghost将首先检查来源分区,再决定是要复制文件和目录结构还是要做映像复制(扇区到扇区)。预设是这种形式。但是有的时候,硬盘里特定的位置可能会放一些隐藏的与系统安全有关的文件。只有用扇区到扇区复制的方法才能正确复制 -pwd and -pwd=x 给映像文件加密 -rb 在还原或复制完成以后,让系统重新启动 -sure 可以和clone合用。Ghost不会显示"proceed with disk clone-destination drive will be overwritten?"<em>提示</em>信息 注意事项 1. 在备份系统时,单个的备份文件最好不要超过2GB。 2.在备份系统前,最好将一些无用的文件删除以减少Ghost文件的体积。通常无用的文件有:Windows的临时文件夹、IE临时文件夹、Windows的内存交换文件。这些文件通常要占去100多兆硬盘空间。 3.在备份系统前,整理目标盘和源盘,以加快备份速度。 4.在备份系统前及恢复系统前,最好检查一下目标盘和源盘,纠正磁盘错误。 5.在恢复系统时,最好先检查一下要恢复的目标盘是否有重要的文件还未转移,千万不要等硬盘信息被覆盖后才后悔莫及啊。 6.在选择压缩率时,建议不要选择最高压缩率,因为最高压缩率非常耗时,而压缩率又没有明显的提高。 7.在新安装了软件和硬件后,最好重新制作映像文件,否则很可能在恢复后<em>出</em>现一些莫名其妙的错误。 ------------------------------------------------------------------------------- Ghostpe.exe菜单选项介绍 Norton Ghost的帮助文件中要求Ghostpe.exe在纯DOS下运行,其实它在WINDOWS的MS-DOS中运行也是可以的,同样可以对系统进行备份和还原。 开机进入DOS,键入Ghostpe.exe所在的目录路径名,比如:E:Ghostpe.exe 回车,程序即开始运行。首先<em>出</em>现的是Ghost版本介绍<em>窗口</em>,回车后进入主界面。菜单选项有:   (一)“Local”(本地的)   1、Disk(磁盘) (1) To Disk(硬盘到硬盘的复制) (2)To Image(硬盘内容备份为镜像) (3)From Image(从镜像文件恢复至硬盘)  2、Partition(分区)   (1)To Partition(分区到分区的复制)   (2)To Image(分区内容备份为镜像)   (3)From Image(从镜像文件恢复至分区)  3、Check(检查) (1) Image File(镜像文件) (2)Disk(磁盘)   (二)Option(设置项,一般情况下使用默认值即可)   (三)Quit(退<em>出</em>) Norton ghost――克隆硬盘的魅影 我们能用Ghost做什么   ●可以创建硬盘镜像备份文件   ●可以将备份恢复到原硬盘上   ●磁盘备份可以在各种不同的存储系统间进行   ●支持FAT16/32、NTFS、OS/2等多种分区的硬盘备份   ●支持Win9X、NT、UNIX、Novell等系统下的硬盘备份   ●可以将备份复制(克隆)到别的硬盘上   ●在复制(克隆)过程中自动分区并格式化目的硬盘 Ghost是最著名的硬盘复制备份工具,因为它可以将一个硬盘中的数据完全相同地复制到另一个硬盘中,因此大家就将Ghost这个软件称为硬盘“克隆”工具。实际上,Ghost不但有硬盘到硬盘的克隆功能,还附带有硬盘分区、硬盘备份、系统安装、网络安装、升级系统等功能。1998年6月,<em>出</em>品Ghost的Binary公司被著名的Symantec公司购并,因此该软件的后续版本就改称为Norton Ghost,成为Nordon系列工具软件中的一员。1999年2月,Symantec公司发布了Norton Ghost的5.1C版本,该版本包含了多个硬盘工具,并且在功能上作了较大的改进,使之成为了一个真正的商业软件。 安装 本公司为使各位客户的机器万无一失,早已经为您的机器中装入了GHOST软件,并在您取走机器前为您做好备份,免去您的后顾之忧。此软件不需安装,复制即可使用。 Ghost硬盘克隆 Ghost就是克隆硬盘的程序,该程序在DOS下、Windows9.X下都可执行,所以要进行硬盘的克隆,请先进入到Ghost子目录,运行Ghost.exe程序,需要注意的是,如果是在DOS下运行该程序时,在运行该程序前最好启动DOS的鼠标驱动程序,因为Ghost的操作画面是仿<em>窗口</em>画面,使用鼠标点击来选择会方便一些――虽然也可以用键盘来操作。另外在备份或克隆硬盘前最好清理一下硬盘――删除不用文件、清空回收站、碎片整理等。 1. 分区备份 使用Ghost复制备份,有整个硬盘(Disk)和分区硬盘(Partition)两种备份方式。在菜单中点击“Local”(本地)项,在右面弹<em>出</em>的菜单中有三个子项,其中“Disk”表示整个硬盘备份(也就是克隆),“Partition”表示单个分区硬盘备份以及硬盘检查“Check”。“Check”项的功能是检查硬盘或备份的文件,看是否可能因分区、硬盘被破坏等造成备份或还原失败。而分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区具有实用价值。 选“Local/Partition/To Image”菜单,弹<em>出</em>硬盘选择<em>窗口</em>,开始分区备份操作。点击该<em>窗口</em>中白色的硬盘信息条,选择硬盘,进入<em>窗口</em>,选择要操作的分区(用鼠标点击)。 然后在弹<em>出</em>的<em>窗口</em>中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给<em>出</em>三个选择。“No”表示不压缩,“Fast”表示小比例压缩而备份执行速度较快,“High”就是高比例压缩但备份执行速度较慢。最后,选择“Yes”按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成备份,备份的文件以GHO后缀名储存在设定的目录中。 2. 分区备份的还原 如果硬盘中备份的分区数据受到损坏,用一般磁盘数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原,无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 要恢复备份的分区,就在界面中选择菜单“Local/Partition/From Image”,在弹<em>出</em><em>窗口</em>中选择还原的备份文件,再选择还原的硬盘和分区,点击“Yes”按钮即可。 恢复还原时要注意的是,硬盘分区的备份还原是要将原来的分区一成不变地还原<em>出</em>来,包括分区的类型、数据的空间排列等。 3. 硬盘的克隆 硬盘的克隆就是对整个硬盘的备份和还原,选择菜单“Local/Disk/To Disk”,在弹<em>出</em>的<em>窗口</em>中选择源硬盘(第一个硬盘),然后选择要复制到的目的硬盘(第二个硬盘)。注意,可以设置目的硬盘各个分区的大小,Ghost可以自动对目的硬盘按设定的分区数值进行分区和格式化。选择“Yes”开始执行。 Ghost能将目的硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目的硬盘不能太小,必须能将源硬盘的内容装下。   Ghost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单“Local/Disk/To Image”),然后就可以随时还原到其它硬盘或原硬盘上。这对要安装多个系统硬盘很方便。使用方法与分区备份相似。要注意的是,备份成的文件不能大于2GB。 [table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[/color][/align][color=#6b6b6b]四。★★★如何防范恶意网站 知己知彼   如何判断自己是遇到了恶意网站的攻击,症状多种多样:   1. 开机自动登录网站。   2. 启动IE,自动登录网站,无法修复主页设置。   3. IE不断<em>打开</em><em>窗口</em>。   4. 修改[主页]按钮和[搜索]按钮。   5. 修改右键菜单,甚至屏蔽右键菜单。   6. 更改收藏夹的内容。   7. 安装自动拨号程序。   8. 自动安装木马程序。   9. 自动格式化硬盘或删除某个文件夹中的所有文件。   10. 更新文件关联和锁死EXE程序。   11. 锁死注册表。 ……   ★对症下药   了解了症状,就要对症下药了! 一、备份   建议使用“超级兔子魔法设置”中的“注册表优化”进行备份,软件能将Classes.dat、System.dat、System.ini、User.dat、Win.ini等文件全部备份下来,上面提到的前五种恶意网站无非就是通过修改这些文件来达到其目的的。 二、弃用IE   大部分的攻击目标都是IE。如果我们用MyIE2(强烈建议使用Ver 0.8.220这一版本)代替IE浏览器,恶意网站就无的放矢了。MyIE2在启动时能够绕开主页直接<em>打开</em>空白页,而且还能保护主页不被修改。如果开机就自动运行IE,要先用超级兔子魔法设置中的“自动运行”功能将网址删除,再用MyIE2代替IE。   注意:这两个功能在默认状态下是<em>关闭</em>的,您要在[选项]→[MyIE2选项]→[常规]中和“启动时”中将其<em>打开</em>。由于MyIE2使用IE的内核,所以请勿删除IE。 三、解救被封死的收藏夹   某些恶意网站会对收藏夹进行修改,大多是通过修改“C: Windows/Favorites”中的“Desktop.ini”文件来实现的,所以只要删除这个文件就可以了。如果根本就无法<em>打开</em>“C: WindowsFavorites”文件夹,就到DOS下进行删除(要先用“attrib -r -s -h”后才能将其删除)。另外,“收藏夹”中的内容并没有被删除,只是放入了另一个文件夹中,名称和“Favorites”差不多(如“Favorites2”等),如果想恢复原来的“收藏夹”,只要剪切一下就可以了。   如果是将系统默认的“收藏夹”路径设置成指定的目录(如“C: WindowsFavorites2”等),只要恢复正常的“注册表”就一切OK了。 四、定期还原正常的注册表   如果遇到安装自动拨号程序的情况,你可要小心啦,小心惊人的国际长话费。对付它,最好是定期还原正常的注册表!这样做虽然不能彻底删除此类恶意程序,但却能让其完全禁止运行,因为这类程序是通过修改注册表来达到随机运行的目的的(只有极少数是在“开始”菜单的“启动”项内做文章),只不过我们无法通过<em>手工</em>删除干净。   这个方法对于自动安装木马程序的情况也同样适用。 五、防止硬盘被格式化   对于自动格式化硬盘的恶意网站,要把“C:WindowsCOMMAND”文件夹中的format.com、Fdisk.exe、Deltree.exe这三个程序文件删除或进行改名,因为这些恶意代码是需要这些程序才能够发挥“威力”的,只要让这些恶意代码找不到它们,您的电脑也就安全了! 六、<em>打开</em>“锁死”的程序   对于被锁死的EXE程序,只要事先已将“C:Windows”目录下正常的Classes.dat、System.dat、User.dat、System.ini、Win.ini这五个文件备份下来,在“中招”后用正常的文件覆盖一下并重新启动就OK了(注:Windows 95和98中可能没有Classes.dat文件,而且Windows 97以下版本的操作系统用此方法无效!甚至会使整个系统瘫痪。)。如果连复制都被禁止了的话,您可用启动盘到DOS下进行覆盖复制。 七、“防”要胜于“治”   通常恶意网站都披着具有“诱惑力”的外衣,设下诱人的陷阱让您“中招”。所以一定要意志坚强,抵制住诱惑。只要您能做到“任你花言巧语,我自岿然不动”。那么,什么样的陷阱也奈何不了您。   另外,现在有很多恶意网站开始通过即时通讯软件来传播了,比如QQ、ICQ等,方式虽然多种多样,但通常是在对方网友的话后面又发来了一个网站信息,有的会附有一些带有“诱惑性”的话(如:“看看我的样子”等),有的只是一个有着诱人域名的网址,对于这样的网站,原则也同样――就是不上当! [table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[/color][/align][color=#6b6b6b]五。★★★win2000/xp忘记密码的方法 1。清除sam文件: winnt系列的系统账户信息是存在%systemroot%system32configsam这个注册表文件里的。如果系统里没有重要的账户,或者账户比较少,用删除%systemroot%system32configsam的方法是比较简单的,不过因为系统会还原为只有administrator(密码为空)和guest二个账户,所以有些程序因为它们所依赖的账户丢失了,如iis、vmware就不能启动了。 原来听说这种方法只能适用于nt workstation系列(2kpro),不能用于server,我在2000professional和2000 advanced server上试验都是成功的。不知道为什么会有上述说法,可能是活动目录ad下不行把。 当然首先你要能够访问系统分区,来把sam文件改名或者删除。如果是fat32、fat分区,使用98启动盘就行了。如果是ntfs分区,可以使用winternal的ntfs for dos、ntfs for 98或者是支持ntfs的启动光盘,再或者挂到其他win2000、linux等机器上,再再或者重新安装一个新的win2000。 2。专用工具: windows管理员密码丢失还有一个解决方法是使用petter nordahl-hagen的the offline nt password editor([url=http://home.eunet.no/~pnordahl/ntpasswd/][color=#0000ff]http://home.eunet.no/~pnordahl/ntpasswd/[/color][/url]),这个工具是离线修改注册表文件sam来设置密码的。需要用他的映像文件制作启动盘来引导,进而访问ntfs分区重新设置密码;虽然作者经常更新他的程序,不过我还是会担心他直接操作sam文件的安全性,可能有时会导致系统<em>出</em>错。 可能还有其他类似工具把,恕我无知。 3。 还有一种想法就是用一个修改密码的小程序来替换系统启动的必要程序,然后系统启动时就会替换密码,随后把被替换的程序在还原就行了。当然首先你还是要能够访问系统分区,来替换随系统启动的程序。 替换系统启动的必要程序的一种方法是我写的一个清除administrator密码的小程序(cleanpwd),他所作的就是把administrator密码清空。使用方法如下: (2).用法 1) 用双系统或者启动盘或者挂到别的系统上,如果是ntfs分区其他系统或启动盘要能读写ntfs分区,把windows安装目录下的system32svchost.exe改名svchost.bak.exe备份,把cleanpwd.exe拷贝成svchost.exe。 2) 启动该系统,就把administrator的密码清空了,可以直接登陆。 3) 把svchost.bak.exe 恢复就行了。(如果使用替换的是svchost,最好再启动rpc服务) (3).为什么选用svchost.exe而不是其他程序。 每个windows2000系统都有这几个进程, system(kernel executive and kernel) smss(session manager) csrss(win32 subsystem) winlogon(logon process) services(service control manager) lsass(local security authentication server ) 如果任何一个被杀掉或者<em>出</em>错,系统将重新启动。不过在lsass启动之前你不能修改密码,所以不能选用这几个程序。 另外系统中一般还有以下一些程序: svchost.exe(remote procedure call (rpc) 还有其他一些服务) wbemwinmgmt.exe(windows management umentation) mstask.exe(task scheduler) regsvc.exe(remote registry service) 可能还有其他服务程序,你可能禁止了除rpc之外的其他服务,但不会禁止rpc,否则系统工作就不正常了。所以我选择了svchost,如果你知道其他服务会自动启动,你也可以选择它。 当然如果系统安装了杀毒软件的话,你替换杀毒软件也可以,因为一般杀毒软件都会在系统启动是启动杀毒防火墙来杀毒的。 (4).其他 有这个想法是几个月之前了,不过一直没有写这个程序 程序运行会在c:cleanpwd.txt记一个简单的日志,我也附了源码,你可以任意修改它以满足自己的要求,比如添加一个用户而不是修改管理员的密码(或者你把管理员改名了)。 4。我还在一个网站上看到这样一个方法: 就是把%systemroot%system32logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe里运行net user administrator "",成功后管理员密码也被清空了,<em>关闭</em>cmd或者explorer就可以用空口令登陆了。 其实这种方法和上边的那种思路是一致的。 ================= code begin ======================= #include #include #include #include #include #pragma comment(lib, "netapi32.lib") #define lof_file "c:\cleanpwd.txt" dword setuserpwd(char *user, char *pass); void banner(file *fp) { if(null == fp)return; fprintf(fp, "clean administrator??s password tool 1a. for lost password.n"); fprintf(fp, " by [email=bingle@email.com.cnn][color=#0000ff]bingle@email.com.cnn[/color][/email]"); fprintf(fp, "website: [url=http://www.binglesite.net/n][color=#0000ff]www.binglesite.netn[/color][/url]"); } int main(int argc, char *argv[]) { banner(stderr); file *fp = fopen(lof_file, "a"); if(fp) { fprintf(stderr, "log in file %sn", lof_file); banner(fp); } if(!fp) fp = stderr; char buff[256]; fprintf(fp, "%s: clean administrator??s password ", _strtime(buff)); dword n = setuserpwd("administrator", ""); if(nerr_success == n) fprintf(fp, "ok.n"); else fprintf(fp, "failed, error:%dn", n); fclose(fp); return -1; } dword setuserpwd(char *user, char *pass) { wchar_t wuser[pwlen], wpass[pwlen]; user_info_1003 ui; mbstowcs(wuser, user, strlen(user)+1); mbstowcs(wpass, pass, strlen(pass)+1); ui.usri1003_password = wpass; return netusersetinfo(null, wuser, 1003, (lpbyte)&ui, null); 六。★★★Windows XP 自带小工具 假设你使用的是WinXP,一般来讲你会把日常所用的工具软件都放到一个名为“Tools”的文件夹中。好的,先容我猜猜,里面都有些什么东东――加密的、图片浏览处理的、压缩/解压缩的、音视频播放的、刻录的、系统优化的……怎么样,猜得八九不离十吧?相信这些Tools平日里一定带来了不少方便,不过如果你仅满足于使用这些“Tools”的一般用途,那笔者就要为WinXP道一声“可惜”――它辛辛苦苦为你准备的百宝箱却被不经意地抛在了一旁。相比常用的工具软件,WinXP所提供工具的特点是整合在系统中,因此使用简单、快捷而方便,那么就随笔者一起掀开这个箱子,看看里面到底都有些什么宝贝吧。 一、文件保密 WinXP有着很好的多用户功能,允许不同用户拥有个性的系统设置。但在这样一个共享环境下,个人的隐私问题又凸现<em>出</em>来,由此涉及到了多用户使用下的文件保密问题。对于这个问题,你可能会考虑诸如“文件保密专家”之类的文件加密软件,其实在WinXP中,大可不必为文件的保密问题操心,因为它为我们提供了多种文件保密的方法。不过在为文件进行保密操作之前,首先要确定待保密的文件是放在NTFS分区上的,这是WinXP里进行文件保密的基础,以下的操作都是在NTFS分区上进行的。 1.个人文件夹的保密 在WinXP里最简单的文件保密方法是对“个人文件夹”的加密。所谓“个人文件夹”是指在“系统盘ocuments and Settings”下,以当前用户名命名的文件夹;其中包含了如“我的文档”、“开始菜单”一类的个人用户文件。对其进行加密,只需直接在其文件夹或其子文件夹的“属性”<em>对话框</em>的“共享”页上,勾选“将这个文件夹设为专用”(若为管理员用户则此处默认为勾选),那么其他用户(包括管理员)都无法访问此文件夹。此方法只适合于对“个人文件夹”的保密,对于系统的其他文件和文件夹则无能为力了。需要注意的是,设为“专用”的个人文件夹将不能被共享,同样,已共享的个人文件夹在取消共享之前也不能被设为“专用”。实际应用中,可将要保密的文件保存到设为专用的“我的文档”里,即可实现文件保密的目的。 2.<em>利用</em>用户权限保密文件 对于没有放在“个人文件夹”中的文件,我们可以有第2种保密方法:控制用户权限――通过对不同用户或者组,赋予对文件(文件夹)不同的操作权限,从而达到文件保密的目的。此操作进行之前先要确定WinXP中文件权限的设置功能是否开启:在文件浏览<em>窗口</em>中选择菜单“工具”→“文件夹选项”,选择“查看”页,确定“使用简单文件共享”没有被勾选。 之后,我们就能对系统的文件(文件夹)访问权限进行具体设置:<em>打开</em>文件夹的属性<em>对话框</em>,可以看到多<em>出</em>了一个“安全”页。在其中可以一目了然对于此文件夹可操作的用户及其不同的权限分派。各类权限有“允许”和“拒绝”两项可选,先在“组或用户名称”一栏里选择要保密的对象(如Guest用户),再将其“读取”的权限设为“拒绝”,如此便实现了此文件夹的保密。如果“组或用户名称”里没对象用户,选择下面的“添加”,输入(或搜索<em>出</em>)其用户名即可。 有可能你看到的用户权限设置是不可选的,那是因为此子文件夹从其父文件夹(上级文件夹)继承了权限,因此不可改。要使其权限可改,应删除其和父文件夹的继承关系:选择“安全”页的“高级”选项,<em>打开</em>“高级安全设置”<em>对话框</em>,在“权限”页里取消对“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”的勾选,在弹<em>出</em>的<em>对话框</em>中选择“删除”即可。 3.加密文件系统(EFS)对文件的保密 这是WinXP我们提供的一种高级文件加密方法――加密文件系统(EFS)。EFS是一种数字加密方式:Windows首先以一把“公钥”(WinXP自己的加密算法)对文件进行加密,再配给用户一把用于解密的“私钥”(包含在个人数字证书中)。加密过的文件,只有通过“公钥”与“私钥”共同认证后产生的“金钥”才能被解密。 <em>打开</em>要加密的文件或文件夹的“属性”<em>对话框</em>,选择其“常规”页中的“高级”,勾选“高级属性”里的“加密内容以便保护数据”,确定后,加密的文件/文件夹名会以绿色表示,这样,即使是管理员账户,也不能读取文件的内容了。 这就是WinXP的高级文件保密,就这么简单。之后的问题是,如果加密文件拷贝到其他机器上,如何实现其解密?这就涉及到了个人数字证书的使用。 4.个人数字证书的导<em>出</em>与导入 在“运行”栏里输入“certmgr.msc”,<em>打开</em>“证书”,依次展开“个人”→“证书”,右键单击要导<em>出</em>的证书,在“所有任务”中选择“导<em>出</em>”,在向导中选择“是,导<em>出</em>私钥”,再按需要设置好私钥保护密码和导<em>出</em>路径后,即导<em>出</em>了个人数字证书。 加密文件被拷贝到其他机器上后,要对其进行解密,需要先在此机器上新建一个与原加密用户相同用户名及密码的账户,再将之前导<em>出</em>的证书拷贝到此机器上双击运行,即可实现数字证书的导入。 注意:WinXP为了防止私钥被随意导<em>出</em>,凡导入的证书在默认情况下均不能被再次导<em>出</em>。如果有再次导<em>出</em>的需要,需要在导入数字证书过程中,输入私钥保护密码一步时,勾选“标志此密钥为可导<em>出</em>的……”,这样才能使导入的证书能被再次导<em>出</em>。 二、资源管理器的增强 1.图片浏览 WinXP之前这一功能非ACDSee莫属,然而WinXP却带来了更为易用的图片浏览功能。众所周知,只要选择“缩略图”方式显示图片,我们就可以图片的缩略图预览其效果。选择“幻灯片”方式,则可以更清楚地看到图片的预览效果。WinXP还为我们提供了第3种方式浏览图片:“幻灯片播放”,只需选择资源管理器左侧“图片任务”中的“作为幻灯片查看”,即可浏览图片,在屏幕的右上角依次有播放、暂停、上一幅、下一幅及<em>关闭</em>的功能按钮。需要提醒的是,如果选择了一张或者多张图片后再选择“作为幻灯片查看”,则只会放映所选择的图片。 还有一点技巧:如果嫌“缩略图”方式预览的图片太小,我们可以通过修改注册表的方式改变其大小。在“运行”栏里输入“regedit”,<em>打开</em>注册表编辑器,依次展开HKEY_CUR RENT_USER Software MicrosoftWindows CurrentVersion Explorer,在其下新建一名为ThumbnailSize的DWORD值,将值改为十进制的200,可以看到预览图变大了吧。另外,新建名为ThumbnailQuality的DWORD值,通过设置其值改变缩略图的图片质量,如设为80,则以80%的质量显示缩略图。通过减小其值,可以缩短系统显示缩略图的时间。 注意:如果当前目录下有图片却没有<em>出</em>现“图片任务”或找不到“幻灯片”方式,可参见后文设置文件夹模板。 2.数码图片的处理 使用数码相机等设备,WinXP也准备了“扫描仪与照相机向导”。当数码相机连接到计算机后,在系统弹<em>出</em>的任务选择<em>对话框</em>里选择“将图片复制到计算机上的一个文件夹”,WinXP会自动读取相机里的图片,接下来在“扫描仪和照相机向导”选择要获取的图片,还有存放的路径,完成后WinXP就会把所选择的照片存放到指定目录了。值得一提的是,在选择存放路径时,WinXP已默认提供了一系列有助于分类的存放方式,方便我们对数码图片的管理。 双击一个图片文件,如果没有安装其他图片浏览软件,WinXP会首先调用“Windows图片和传真查看器”来<em>打开</em>文件(若已安装其他图片软件,也可右击图片文件并在“<em>打开</em>方式”中选择此工具)。可用其对图片进行简单加工,如缩放查看、旋转、打印、复制到等。试过用“Windows图片和传真查看器”<em>打开</em>TIFF文件吗?可以看到工具栏上又多<em>出</em>不少东西,通过这些工具可以给图片添加“注释”。至于用处,想想看,可以在数码相片上写上照相的时间地点,场景描述等,多年后回味,别有一番滋味啊。这一注释功能并不直接修改图片,在你不需要时可随时删去所加的注释,而保留图片的原样。 3.个性的文件夹 如果你也崇尚个性张扬,相信总会想方设法把自己的WinXP弄得与众不同。这里就来看一下,如何用WinXP百宝箱里的东东,把系统里大大小小的文件夹们,统统换掉那黄色的夹子外套。WinXP提供了很方便的文件夹自定义功能,在文件夹“属性”<em>对话框</em>的“自定义”页上,即可看见很多定义的内容。 文件夹模板:可供选择的有相册、图片、音乐和视频等,其区别在于不同的模板对应不同的默认文件查看方式(幻灯片、平铺、图标等)以及文件夹任务。使用了以上两种图片类文件夹模板,文件夹左侧的“常见任务栏”里,都会有“图片任务”供选择,而使用了音乐类或视频类文件夹模板,则分别对应的是“音乐任务”与“视频任务”。 文件夹图片:当文件夹以缩略图方式查看时,WinXP会把该文件夹里最近修改的4个图片作为默认的文件夹图片显示,但为了提醒自己,可以让它变得更醒目。只需单击“选择图片”就可选择某个图片作为此文件夹的图片。 文件夹图标:如果不以缩略图方式查看,文件夹将会以其“标准图标”表示――一个黄色的夹子,如果觉得这千篇一律的黄夹子没有个性,我们也可以换。单击“更改图标”,可以看到WinXP为我们在Shell32.dll里提供的许多图标,我们当然可以随便用上一用。 三、压缩与解压缩 目前我们使用的压缩解压缩软件想必都是WinZip或WinRAR等,它们各有自己的特点与用途,但实际应用中可以说95%以上的工作都是简单的压缩与解压缩,在这一点上,WinXP自带的压缩工具就足以满足需要了。 1.通过压缩磁盘对文件进行压缩 这种方法被WinXP冠名为“NTFS文件压缩”,只能在硬盘的NTFS分区上使用。<em>打开</em>要压缩文件/文件夹的“属性”<em>对话框</em>,选择“常规”页中的“高级”,勾选“高级属性”里的“压缩内容以便节省磁盘空间”,确定后,此文件/文件夹名会以蓝色显示。以这种方法压缩文件,实质上是对磁盘进行压缩,会带来了系统性能的降低(<em>打开</em>压缩文件时,系统将其解压缩,<em>关闭</em>文件时又重新压缩),因此建议仅用于对备份文件处理。 2.Zip文件的压缩 最先在Windows提供对Zip文件的支持始源于WinME,WinXP继承了这一特性,但基本上没有太多发展。这一功能被称为“Compressed(zipped) Folders”,只能进行最基本的压缩/解压缩工作,说好听点,就是“返璞归真”了。 实现方法一:在鼠标右键菜单上选择“新建”→“压缩(zipped)文件夹”。 实现方法二:选中欲压缩的文件(一个或多个),在其鼠标右键菜单上选择“发送到”→“压缩(zipped)文件夹”,即生成一个.zip文件。最后生成的文件名同鼠标单击的文件一致。 你还可以对.zip文件设置密码。<em>打开</em>一个.zip文件(确定是用WinXP自带功能<em>打开</em>,而不是用其他软件),选择菜单项的“文件”→“添加密码”,输入要设置的密码。之后,查看和解压缩此文件就需要密码了,可以满足一般的保密性要求。需要说明的是WinXP不能进行分卷压缩、添加注释等“高级任务”。 3.Zip文件的解压缩 压缩后的ZIP包可以像普通文件夹一样操作。如果要将ZIP包解压缩到指定位置,只需在其右键菜单上选择“全部提取...”<em>利用</em>“提取向导”,选择解压缩路径,输入密码(如果有的话),即可进行解压缩。 4.自解压包的制作 如果还有制作自解压包的需要,也不用去找什么专门工具,WinXP里仍然为你准备了――尽管微软并没有承认其存在。在“运行”<em>对话框</em>里输入“iexpress”,回车后<em>打开</em>“IExpress Wizard”。在向导里依次选择“Create new Self Extraction Directive file”→“Extract files only”(压缩目的:Package purpose)→输入解压缩时弹<em>出</em><em>对话框</em>的标题(Package title)→输入<em>对话框</em><em>提示</em>语(Confirmation prompt)→选择解压时是否显示许可协议(License agreement)→添加欲压缩的文件(Packaged files)→选择解压</a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/qiang654001342/5101639","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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/qiang654001342/5101639" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/qiang654001342/5101639","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>精通JS脚本之ExtJS框架.part2.rar</a></div> <a target="_blank" href="https://download.csdn.net/download/qiang654001342/5101639" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/qiang654001342/5101639","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了<em>JavaScript</em>的对象编程、<em>JavaScript</em>浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、对Ajax的支持以及如何调试等。最后<em>利用</em>一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。   《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以通过访问itzcn网站来获得即时在线帮助。   《精通JS脚本之ExtJS框架》可以作为Web开发的自学参考书,也可以作为RIA Web程序开发的培训教材。 第1章 <em>JavaScript</em>入门必备 1.1 <em>JavaScript</em>语言概述 1.1.1 <em>JavaScript</em>简介 1.1.2 <em>JavaScript</em>特点 1.1.3 <em>JavaScript</em>与Java 1.2 第一个<em>JavaScript</em>程序 1.2.1 嵌入<em>JavaScript</em> 1.2.2 链接外部<em>JavaScript</em>文件 1.2.3 注意事项 1.3 基础语法 1.3.1 数据类型 1.3.2 变量与常量 1.3.3 运算符 1.4 流程控制语句 1.4.1 if条件语句 1.4.2 switch条件语句 1.4.3 while循环语句 1.4.4 do while循环语句 1.4.5 for循环语句 1.4.6 for in循环语句 1.4.7 try catch finally语句 1.4.8 其他语句 第2章 <em>JavaScript</em>浏览器对象模型与事件处理 2.1 浏览器对象模型 2.1.1 文档对象 2.1.2 表单及其元素对象 2.1.3 浏览器信息对象 2.1.4 <em>窗口</em>对象 2.1.5 网址对象 2.1.6 历史记录对象 2.2 基本事件处理 2.3 2级DOM事件模型 2.3.1 事件传播 2.3.2 注册事件处理程序 2.3.3 event对象 2.4 常用事件 2.4.1 键盘事件 2.4.2 鼠标事件 2.4.3 页面事件 第3章 开始使用ExtJS 3.1 ExtJS概述 3.1.1 ExtJS简介 3.1.2 ExtJS中的基本概念 3.1.3 ExtJS与常见<em>JavaScript</em>库的介绍与对比 3.2 创建第一个程序 3.2.1 下载ExtJS 3.2.2 部署到开发工具中 3.2.3 编写HelloWorld.html 3.2.4 运行调试ExtJS 3.3 辅助开发 3.3.1 调试工具Firebug 3.3.2 开发利器Spket 第4章 ExtJS事件机制 4.1 设计模式——观察者模式 4.2 自定义事件 4.3 浏览器事件 4.4 ExtJS中的事件 4.4.1 Function.call()/apply()方法 4.4.2 函数的作用域 4.4.3 Ext.lib.Event事件 4.4.4 Ext.util.Observable事件 4.4.5 Ext.EventManager事件 4.4.6 Ext.EventObject事件 4.5 各种事件登记方式 4.5.1 传统式登记 4.5.2 内联式登记 4.5.3 Dom Level2登记 4.6 高级组件事件 4.7 ExtJS键盘事件 第5章 ExtJS组件 5.1 核心组件 5.1.1 ExtJS组件结构 5.1.2 Ext.Component 5.1.3 Ext.BoxComponent 5.1.4 Ext.Container 5.1.5 Ext.Panel 5.1.6 Ext.TabPanel 5.2 信息<em>提示</em>框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() 5.2.6 Ext.MessageBox.show() 5.2.7 Ext.MessageBox的其他功能 5.3 进度条组件 5.3.1 Ext.ProgressBar简介 5.3.2 <em>手工</em>模式的进度条 5.3.3 自动模式的进度条 5.3.4 自定义样式的进度条 5.4 工具栏和菜单栏 5.4.1 Ext.Toolbar简介 5.4.2 只包含按钮的简单工具栏 5.4.3 包含多种元素的复杂工具栏 5.4.4 Ext.menu.Menu简介 5.4.5 最简单的菜单栏 5.4.6 创建三级或多级菜单 5.4.7 具有选择框的菜单 第6章 页面元素与模板 6.1 构成用户界面的元素 6.2 获取页面元素 6.3 元素常见的使用方法 6.3.1 常见的“显示/隐藏”方法 6.3.2 常见的“内容控制”方法 6.3.3 常见的“操控DOM”方法 6.3.4 常见的“尺寸大小/定位”方法 6.3.5 常见的“特效动画”方法 6.3.6 DomHelper简介 6.4 DomQuery入门 6.4.1 元素选择符Selector 6.4.2 属性选择符Attributes Selectors 6.4.3 CSS值元素选择符 6.4.4 Ext.query与Ext.select 6.5 应用模板 6.5.1 Ext.Template 6.5.2 Ext.XTemplate 第7章 设计表单类布局 7.1 Form表单简介 7.1.1 Form表单的基本配置 7.1.2 ExtJS对Form表单的封装 7.2 ExtJS的表单组件 7.2.1 文本输入控件Ext.form.TextField 7.2.2 多行文本输入控件Ext.form.TextArea 7.2.3 单选框 7.2.4 复选框 7.2.5 下拉列表框 7.2.6 日期输入控件Ext.form.DateField 7.2.7 在线编辑器Ext.form.HtmlEditor 7.3 ExtJS表单组件的综合应用 第8章 设计表格类布局 8.1 表格简介 8.1.1 表格的基本属性 8.1.2 制作第一个表格 8.2 表格常用功能详解 8.2.1 主要属性功能 8.2.2 自定义列宽度 8.2.3 执行按列排序 8.2.4 解决中文排序 8.2.5 格式化显示日期类型数据 8.3 美化表格 8.4 设置表格背景颜色 8.5 显示行号和复选框 8.5.1 显示行号 8.5.2 引用复选框 第9章 表格的高级功能 9.1 表格视图——Ext.grid.GridView 9.2 表格分页 9.2.1 添加表格分页显示工具条 9.2.2 从后台脚本获得分页数据 9.2.3 在表格顶部显示分页工具条 9.2.4 实现前台分页效果 9.3 可编辑表格控件——EditorGrid 9.3.1 制作第一个EditorGrid 9.3.2 添加一行数据 9.3.3 保存修改结果 9.3.4 验证EditGrid中的数据 9.3.5 限制输入数据的类型 9.4 PropertyGrid属性表格控件 9.4.1 PropertyGrid简介 9.4.2 只读的PropertyGrid 9.4.3 对name列强制排序并获得value 9.4.4 自定义编辑器 9.5 分组表格控件——Group 9.5.1 分组表格简介 9.5.2 Ext.grid.GroupingView的配置操作 9.6 可拖放的表格 9.6.1 拖放改变表格的大小 9.6.2 在同一个表格里拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的基本使用 10.1.1 创建一棵树 10.1.2 为树生枝展叶 10.1.3 树形的配置 10.1.4 使用TreeLoader获得数据 10.1.5 读取本地JSON数据 10.2 树的事件 10.3 右键菜单 10.4 修改节点的默认图标 10.5 从节点弹<em>出</em><em>对话框</em> 10.6 节点<em>提示</em>信息 10.7 为节点设置超链接 10.8 树形的拖放 10.8.1 节点拖放的3种形式 10.8.2 叶子不能append 10.8.3 判断拖放的目标 10.8.4 树之间的拖放 10.9 树形过滤器TreeFilter 10.10 <em>利用</em>TreeSorter对树进行排序 10.11 树形节点视图——Ext.tree.TreeNodeUI 10.12 表格与树形的结合——Ext.ux.tree.ColumnTree 第11章 其他布局类简介 11.1 标准布局类 11.1.1 折叠布局——AccordionLayout 11.1.2 边框布局——BorderLayout 11.1.3 卡片式布局——CardLayout 11.1.4 列布局——ColoumnLayout 11.1.5 锚点布局——AnchorLayout 11.1.6 自适应布局——FitLayout 11.1.7 ContainerLayout 11.2 与布局有关的其他知识 11.2.1 父类Ext.Container公共配置与xtype的概念 11.2.2 使用Viewport 11.2.3 实现表单元素横排 第12章 ExtJS对Ajax的支持 12.1 Ext.Ajax介绍 12.1.1 Ext.Ajax.request方法详解 12.1.2 Ext.Ajax.request操作示例 12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 <em>利用</em>Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 12.3.3 自动保存的网络记事本 12.3.4 网页计算器 第13章 设计数据驱动模式 13.1 XML/JSON数据格式比较 13.2 容器类MixedCollection 13.3 数据存储基本单元Record与dataField 13.3.1 dataField 13.3.2 Record 13.4 数据存储store 13.4.1 数据载入 13.4.2 对数据进行排序 13.4.3 从store 中获取数据 13.4.4 更新store 中的数据 13.4.5 加载及显示数据 13.5 数据代理 13.5.1 Ext.data.DataProxy 13.5.2 Ext.data.MemoryProxy 13.5.3 Ext.data.HttpProxy 13.5.4 Ext.data.ScriptTagProxy 13.6 数据读取器 13.6.1 Ext.data.DataReader 13.6.2 Ext.data.ArrayReader 13.6.3 Ext.data.JsonReader 13.6.4 Ext.data.XmlReader 13.7 Ext.ux.DWR 13.7.1 Ext.data.DwrProxy 13.7.2 Ext.data.DWRTreeLoader 13.7.4 Web服务端配置 13.7.5 服务层接口 第14章 ExtJS扩展 14.1 <em>利用</em>Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1 定义命名空间 14.2.2 使用xtype 14.3 用户扩展和插件 14.3.1 编写自定义用户扩展 14.3.2 常用插件UploadDialog 14.3.3 常用插件ManagedIFrame 14.4 使用ExtJS制作Flash统计报表 14.4.1 柱状图 14.4.2 折线图 14.4.3 饼状图 14.4.4 柱状栈图 第15章 调试<em>JavaScript</em>与HTML 15.1 Firebug的基本使用 15.1.1 开启或<em>关闭</em>Firebug 15.1.2 控制台 15.2 Firebug的应用 15.2.1 源代码调试 15.2.2 CSS调试 15.2.3 脚本调试 15.3 跟踪网络传输状态 15.4 在脚本文件中加入调试命令 15.5 在IE中使用Firebug 15.5.1 前端调试利器DebugBar 15.5.2 IE下的优秀<em>JavaScript</em>调试工具Companion.JS 15.5.3 DebugBar和Companion.JS的基本操作 15.6 调试技巧 15.6.1 在Firebug中直接调试脚本 15.6.2 调试代码运行速度 15.6.3 查看对象属性 第16章 ExtJS案例:商品信息管理系统 16.1 商品信息管理系统功能介绍 16.2 数据库设计和实现 16.2.1 数据库概念结构设计 16.2.2 数据库表设计 16.3 为项目做好准备 16.4 登录界面 16.5 栏目加载 16.6 为项目换肤 16.7 商品信息管理 16.7.1 商品信息的查询 16.7.2 商品信息的添加 16.7.3 商品信息的删除 16.7.4 商品信息的更新 第17章 ExtJS案例:企业任务管理系统 17.1 系统概述 17.2 需求分析 17.3 数据库设计 17.4 员工任务管理 17.4.1 个人任务处理 17.4.2 个人资料编辑 17.5 主管任务管理 17.5.1 部门计划处理 17.5.2 部门人员管理 17.6 系统管理员权限分配</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/qiang654001342/5101636","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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/qiang654001342/5101636" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/qiang654001342/5101636","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>精通JS脚本之ExtJS框架.part1.rar</a></div> <a target="_blank" href="https://download.csdn.net/download/qiang654001342/5101636" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/qiang654001342/5101636","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1773226103564_95438\"}","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-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了<em>JavaScript</em>的对象编程、<em>JavaScript</em>浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、对Ajax的支持以及如何调试等。最后<em>利用</em>一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。   《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以通过访问itzcn网站来获得即时在线帮助。   《精通JS脚本之ExtJS框架》可以作为Web开发的自学参考书,也可以作为RIA Web程序开发的培训教材。 第1章 <em>JavaScript</em>入门必备 1.1 <em>JavaScript</em>语言概述 1.1.1 <em>JavaScript</em>简介 1.1.2 <em>JavaScript</em>特点 1.1.3 <em>JavaScript</em>与Java 1.2 第一个<em>JavaScript</em>程序 1.2.1 嵌入<em>JavaScript</em> 1.2.2 链接外部<em>JavaScript</em>文件 1.2.3 注意事项 1.3 基础语法 1.3.1 数据类型 1.3.2 变量与常量 1.3.3 运算符 1.4 流程控制语句 1.4.1 if条件语句 1.4.2 switch条件语句 1.4.3 while循环语句 1.4.4 do while循环语句 1.4.5 for循环语句 1.4.6 for in循环语句 1.4.7 try catch finally语句 1.4.8 其他语句 第2章 <em>JavaScript</em>浏览器对象模型与事件处理 2.1 浏览器对象模型 2.1.1 文档对象 2.1.2 表单及其元素对象 2.1.3 浏览器信息对象 2.1.4 <em>窗口</em>对象 2.1.5 网址对象 2.1.6 历史记录对象 2.2 基本事件处理 2.3 2级DOM事件模型 2.3.1 事件传播 2.3.2 注册事件处理程序 2.3.3 event对象 2.4 常用事件 2.4.1 键盘事件 2.4.2 鼠标事件 2.4.3 页面事件 第3章 开始使用ExtJS 3.1 ExtJS概述 3.1.1 ExtJS简介 3.1.2 ExtJS中的基本概念 3.1.3 ExtJS与常见<em>JavaScript</em>库的介绍与对比 3.2 创建第一个程序 3.2.1 下载ExtJS 3.2.2 部署到开发工具中 3.2.3 编写HelloWorld.html 3.2.4 运行调试ExtJS 3.3 辅助开发 3.3.1 调试工具Firebug 3.3.2 开发利器Spket 第4章 ExtJS事件机制 4.1 设计模式——观察者模式 4.2 自定义事件 4.3 浏览器事件 4.4 ExtJS中的事件 4.4.1 Function.call()/apply()方法 4.4.2 函数的作用域 4.4.3 Ext.lib.Event事件 4.4.4 Ext.util.Observable事件 4.4.5 Ext.EventManager事件 4.4.6 Ext.EventObject事件 4.5 各种事件登记方式 4.5.1 传统式登记 4.5.2 内联式登记 4.5.3 Dom Level2登记 4.6 高级组件事件 4.7 ExtJS键盘事件 第5章 ExtJS组件 5.1 核心组件 5.1.1 ExtJS组件结构 5.1.2 Ext.Component 5.1.3 Ext.BoxComponent 5.1.4 Ext.Container 5.1.5 Ext.Panel 5.1.6 Ext.TabPanel 5.2 信息<em>提示</em>框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() 5.2.6 Ext.MessageBox.show() 5.2.7 Ext.MessageBox的其他功能 5.3 进度条组件 5.3.1 Ext.ProgressBar简介 5.3.2 <em>手工</em>模式的进度条 5.3.3 自动模式的进度条 5.3.4 自定义样式的进度条 5.4 工具栏和菜单栏 5.4.1 Ext.Toolbar简介 5.4.2 </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/JavaScript" class="community-img" data-v-4722a3ae><img src="https://img-community.csdnimg.cn/avatar/ca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt data-v-4722a3ae> <div title="JavaScript" class="community-name" data-v-4722a3ae> JavaScript </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="87994" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 87,994 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="224689" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/JavaScript" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 224,689 </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-3127" 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/shareBg2.05330abf.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/ca46c476a908476d9927eaee4b0afc10.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>JavaScript</div> <div class="share-dec" data-v-ca030a68>Web 开发 JavaScript</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> Web 开发 JavaScript </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><!----> <!----> <!----></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_91" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="JavaScript" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/sysdzw" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1" alt="无·法" 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:///JavaScript/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>暂无公告</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 data-v-2a6389b9></div></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":"4NGFEjYE-PtvSqB5qpgRgjWrB12CxWB6UJVk","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_36287181380-1773226009664-618925; dc_sid=30837ba5906b49bc7c46923ac0318704; uuid_tt_dd=10_36287181380-1773226009664-618925; dc_session_id=10_1773226009664.233301; csrfToken=QXr-mSySk3r5GYxRxF-tyzln","ip":"216.73.216.58","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":"JavaScript","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","owner":{"userName":"community_91","nickName":"JavaScript","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":"JavaScript","description":"Web 开发 JavaScript","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002Fca46c476a908476d9927eaee4b0afc10.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":87994,"contentCount":224689,"followersCount":53131,"communityRule":"","communityId":209,"bgImage":"","hashId":"y3w0yonz","domain":"","uriName":"JavaScript","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":1,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"hideLeftSideBar":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_91","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":null,"customTags":null}},"tabList":[{"tabId":1368,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":-1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1368","iframe":false,"sortType":1},{"tabId":873,"tabName":"问答","tabUrl":"https:\u002F\u002Fask.csdn.net\u002Flist\u002F11\u002Ftag\u002F190","tabSwitch":1,"tabType":0,"tabContribute":0,"indexOrder":0,"iframe":true,"sortType":1},{"tabId":4055678,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=4055678","iframe":false,"sortType":1},{"tabId":1620032,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1620032","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":"JavaScript","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","communityType":1,"content":{"id":"20139268","contentId":20139268,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F20139268","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F20139268","createTime":"2002-11-25 02:46:35","updateTime":"2021-05-28 11:47:18","resourceUsername":"bhh","best":0,"top":0,"text":null,"publishDate":"2002-11-25","lastReplyDate":"2002-12-05","type":"13","nickname":"bhh","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F9878a1ced20c4096bb15fb70afc3e007_bhh.jpg!1","username":"bhh","commentCount":9,"diggNum":0,"digg":false,"viewCount":129,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"如何利用javascript关闭手工打开的ie窗口而不弹出提示对话框?","insertFirst":false,"likeInfo":null,"description":"我利用javascript的window.close()关闭打开的窗口,但ie会自动弹出一个“是否确认要关闭该窗口?”的提示框,如何在程序里能做到不提示就直接能关闭窗口,望高手指教。","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221026062126.png","content":"我利用javascript的window.close()关闭打开的窗口,但ie会自动弹出一个“是否确认要关闭该窗口?”的提示框,如何在程序里能做到不提示就直接能关闭窗口,望高手指教。","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\u002F9878a1ced20c4096bb15fb70afc3e007_bhh.jpg!1","nickname":"bhh","selfdesc":"","createdate":"2002-11-15 20:34:00","days":"8517","years":"23","username":"bhh","school":null,"company":null,"job":null},"userName":"bhh","event":"创建了帖子","body":"2002-11-25 02:46","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":9,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"为什么我使用这个方法时,IE还是弹出一个对话框:"仅在HTML帮助中才有此功能"\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n为什么会这样?\u003Cbr \u002F\u003E\n机器环境:winXP+IE6sp1","topicTitle":null,"description":"为什么我使用这个方法时,IE还是弹出一个对话框:\"仅在HTML帮助中才有此功能\" 为什么会这样? 机器环境:winXP+IE6sp1","id":12793448,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"ls176","userNickName":"ls176","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F6a114e84b1af48c7a24d490b19eb35f6_ls176.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-12-05 03:07:41","updateTime":"2002-12-05 03:07:41","formatTime":"2002-12-05","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},{"hit":null,"hitMsg":null,"content":"<OBJECT id="min" type="application\u002Fx-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">\u003Cbr \u002F\u003E\n<PARAM name="Command" value="Minimize"><\u002FOBJECT>\u003Cbr \u002F\u003E\n<button onclick="min.Click()"><font face="webdings">0<\u002Ffont><\u002Fbutton>\u003Cbr \u002F\u003E\n<OBJECT id="max" type="application\u002Fx-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">\u003Cbr \u002F\u003E\n<PARAM name="Command" value="Maximize"><\u002FOBJECT>\u003Cbr \u002F\u003E\n<button onclick="max.Click()"><font face="webdings">1<\u002Ffont><\u002Fbutton>\u003Cbr \u002F\u003E\n<OBJECT id="clo" type="application\u002Fx-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">\u003Cbr \u002F\u003E\n<PARAM name="Command" value="Close"><\u002FOBJECT>\u003Cbr \u002F\u003E\n<button onclick="clo.Click()"><font face="webdings">r<\u002Ffont><\u002Fbutton>\u003Cbr \u002F\u003E\n","topicTitle":null,"description":"\u003COBJECT id=\"min\" type=\"application\u002Fx-oleobject\" classid=\"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\"\u003E \u003CPARAM name=\"Command\" value=\"Minimize\"\u003E\u003C\u002FOBJECT\u003E \u003Cbutton onclick=\"min.Click()\"\u003E\u003Cfont face=\"webdings\"\u003E0\u003C\u002Ffont\u003E\u003C\u002Fbutton\u003E \u003COBJECT id=\"max\" type=\"applic","id":12595392,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"wangxj0600","userNickName":"wangxj0600","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 04:49:21","updateTime":"2002-11-25 04:49:21","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"if i>1 then hh3.HHClick() else","topicTitle":null,"description":"if i\u003E1 then hh3.HHClick() else","id":12594150,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"qiushuiwuhen","userNickName":"qiushuiwuhen","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 04:04:12","updateTime":"2002-11-25 04:04:12","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"谢谢各位高手的指点,马上就成功了。\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n to: feng_sundy(晓风) ,你的方法的确简洁实用,但考虑到客户的多样性,能不能有更好的解决办法。\u003Cbr \u002F\u003E\n \u003Cbr \u002F\u003E\n to:qiushuiwuhen(秋水无恨) ,按照你的代码,该窗口在打开的同时就会自动关闭,而我希望的是由我的程序控制,例如:if i>1 then window.close() else ...... end if,这样的情况能做到吗。\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n 我会给你们每个人都加分的,放心。再次感谢。\u003Cbr \u002F\u003E\n","topicTitle":null,"description":"谢谢各位高手的指点,马上就成功了。 to: feng_sundy(晓风) ,你的方法的确简洁实用,但考虑到客户的多样性,能不能有更好的解决办法。 to:qiushuiwuhen(秋水无恨) ,按照你的代码,该窗口在打开的同时就会自动关闭,而我希望的是由我的程序控制,例如:if i\u003E1 then window.close() else ...... end if,这样的情况能做到吗。 我会给你们每个人都加分的,放心。再次感谢。 ","id":12593872,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"bhh","userNickName":"bhh","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F9878a1ced20c4096bb15fb70afc3e007_bhh.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 03:53:06","updateTime":"2002-11-25 03:53:06","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">\u003Cbr \u002F\u003E\n<PARAM NAME="Command" VALUE="Close"><\u002FOBJECT>\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n<body onload=hh3.Click()>\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n \u003Cbr \u002F\u003E\n","topicTitle":null,"description":"\u003COBJECT id=hh3 classid=\"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\"\u003E \u003CPARAM NAME=\"Command\" VALUE=\"Close\"\u003E\u003C\u002FOBJECT\u003E \u003Cbody onload=hh3.Click()\u003E ","id":12593531,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"qiushuiwuhen","userNickName":"qiushuiwuhen","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 03:39:57","updateTime":"2002-11-25 03:39:57","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"如果是IE5.5和以上版本,可以这样写\u003Cbr \u002F\u003E\nwindow.opener=null;\u003Cbr \u002F\u003E\nwindow.close();\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n应该是可以的。。。","topicTitle":null,"description":"如果是IE5.5和以上版本,可以这样写 window.opener=null; window.close(); 应该是可以的。。。","id":12593522,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"feng_sundy","userNickName":"feng_sundy","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F45f72905a48544da859108efd5831eb5_feng_sundy.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 03:39:41","updateTime":"2002-11-25 03:39:41","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"up","topicTitle":null,"description":"up","id":12593420,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"bhh","userNickName":"bhh","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F9878a1ced20c4096bb15fb70afc3e007_bhh.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 03:35:39","updateTime":"2002-11-25 03:35:39","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"谢谢,但是按照你写的,必须认为点击关闭按钮,窗口才能关闭,如何做到不用人点,由程序控制,自动关闭。","topicTitle":null,"description":"谢谢,但是按照你写的,必须认为点击关闭按钮,窗口才能关闭,如何做到不用人点,由程序控制,自动关闭。","id":12593297,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"bhh","userNickName":"bhh","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F9878a1ced20c4096bb15fb70afc3e007_bhh.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 03:30:02","updateTime":"2002-11-25 03:30:02","formatTime":"2002-11-25","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},{"hit":null,"hitMsg":null,"content":"<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">\u003Cbr \u002F\u003E\n<PARAM NAME="Command" VALUE="Close"><\u002FOBJECT>\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n<input type=button value=关闭 onclick=hh3.Click()>\u003Cbr \u002F\u003E\n","topicTitle":null,"description":"\u003COBJECT id=hh3 classid=\"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\"\u003E \u003CPARAM NAME=\"Command\" VALUE=\"Close\"\u003E\u003C\u002FOBJECT\u003E \u003Cinput type=button value=关闭 onclick=hh3.Click()\u003E ","id":12592656,"contentResourceId":20139268,"bindContentResourceId":0,"communityId":209,"username":"gzh_seagull","userNickName":"gzh_seagull","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2002-11-25 02:53:20","updateTime":"2002-11-25 02:53:20","formatTime":"2002-11-25","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":1368,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130","title":"ExtAspNet_v2.3.2_dll","desc":"ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support\n\t\nExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有ViewState,没有\u003Cem\u003EJavaScript\u003C\u002Fem\u003E,没有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.net\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错。\n\t-修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。\n\t-修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。\n\t-增加土耳其语言资料文件(feedback:abdullaharslan)。\n\t-Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。\n\t-修正DatePicker中的一个bug(31\u002F01\u002F2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。\n\t-修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的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+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器\u003Cem\u003E打开\u003C\u002Fem\u003E后,不能弹\u003Cem\u003E出\u003C\u002Fem\u003E\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时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来\u003Cem\u003E关闭\u003C\u002Fem\u003E当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮默认直接\u003Cem\u003E关闭\u003C\u002Fem\u003E,不会弹\u003Cem\u003E出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E。\n\t\t-GetConfirmFormModifiedHideReference的函数中的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默认居中,而不是黄金分割位置。\n\t+Button, Window等控件弹\u003Cem\u003E出\u003C\u002Fem\u003E位置属性的变化。\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中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时\u003Cem\u003E提示\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了弹\u003Cem\u003E出\u003C\u002Fem\u003E菜单的位置在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等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可\u003Cem\u003E关闭\u003C\u002Fem\u003E属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会\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后不能再次\u003Cem\u003E打开\u003C\u002Fem\u003E的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个JS问题(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正弹\u003Cem\u003E出\u003C\u002Fem\u003E\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),如何通过简单的\u003Cem\u003EJavascript\u003C\u002Fem\u003E代码回发父页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(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,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\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),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\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-如何自定义\u003Cem\u003EJavascript\u003C\u002Fem\u003E脚本和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按钮\u003Cem\u003E提示\u003C\u002Fem\u003E信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时\u003Cem\u003E提示\u003C\u002Fem\u003E信息。\n\t\t-为空则使用默认的\u003Cem\u003E提示\u003C\u002Fem\u003E信息,默认的\u003Cem\u003E提示\u003C\u002Fem\u003E信息支持多语言,建议一般情况下使用默认信息。\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过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有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中TemplateField生成到页面中控件具有唯一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,其中包含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确认\u003Cem\u003E对话框\u003C\u002Fem\u003E,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的\u003Cem\u003EJavaScript\u003C\u002Fem\u003E回调函数。\n\t\t-一个典型应用,在Window控件中\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。\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.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的JS代码。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的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+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行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\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导\u003Cem\u003E出\u003C\u002Fem\u003E为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不会被选中(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\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的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过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.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\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下某些弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的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将不会对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();会导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层\u003Cem\u003EJavaScript\u003C\u002Fem\u003E。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩\u003Cem\u003EJavaScript\u003C\u002Fem\u003E和CSS文件。\n\t-Release版本每个页面只包含一个\u003Cem\u003EJavaScript\u003C\u002Fem\u003E文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert\u003Cem\u003E对话框\u003C\u002Fem\u003E会遮挡所有的Window\u003Cem\u003E窗口\u003C\u002Fem\u003E。\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,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义\u003Cem\u003EJavaScript\u003C\u002Fem\u003E组件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中的EnableIFrame==false,则点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时报JS错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生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-如果弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E(Ext-Window)含有ASP.NET控件FileUpload,则此弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E在\u003Cem\u003E关闭\u003C\u002Fem\u003E时\u003Cem\u003E出\u003C\u002Fem\u003E现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接\u003Cem\u003E出\u003C\u002Fem\u003E错时的“Ajax Error”改成更加友好的\u003Cem\u003E提示\u003C\u002Fem\u003E信息“本次连接失败!可能是网络连接\u003Cem\u003E出\u003C\u002Fem\u003E错,请刷新页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层代码优化(主要是\u003Cem\u003EJavascript\u003C\u002Fem\u003E的封装和BUG修复)。[fixed]\n\t\t-底层使用\u003Cem\u003EJavascript\u003C\u002Fem\u003E创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认\u003Cem\u003E提示\u003C\u002Fem\u003E框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不会修改弹\u003Cem\u003E出\u003C\u002Fem\u003E页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个弹\u003Cem\u003E出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件弹\u003Cem\u003E出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件弹\u003Cem\u003E出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则弹\u003Cem\u003E出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,这样用户直接访问B页面也不会\u003Cem\u003E出\u003C\u002Fem\u003E错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003EExt-Window,再然后刷新父页面或回发父页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t\t---现在可以很方便的为Window控件的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮添加\u003Cem\u003E关闭\u003C\u002Fem\u003E后刷新父页面或者\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发父页面的行为。\n\t\t-如果弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E(Window控件)中IFrame的页面不能正常加载(网络暂时\u003Cem\u003E出\u003C\u002Fem\u003E错或页面抛\u003Cem\u003E出\u003C\u002Fem\u003E异常),则此时点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮会报JS错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,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中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在\u003Cem\u003EJavascript\u003C\u002Fem\u003E变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[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),其中target可能的取值为_self,_parent,_top,分别表示在当前\u003Cem\u003E窗口\u003C\u002Fem\u003E,父\u003Cem\u003E窗口\u003C\u002Fem\u003E,顶级\u003Cem\u003E窗口\u003C\u002Fem\u003E重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个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+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报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不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能\u003Cem\u003E提示\u003C\u002Fem\u003E。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能\u003Cem\u003E提示\u003C\u002Fem\u003E。\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-可以方便的在子页面(iframe)中通过js切换父页面中选中的菜单项(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)中设置哪些项不可选择,以及创建模拟下拉树。\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只会改变Accordion的标题大小,而不会对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中的容器,比如ContentPanel需要在外层加上标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML代码和\u003Cem\u003EJavascript\u003C\u002Fem\u003E代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提\u003Cem\u003E出\u003C\u002Fem\u003E。\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-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的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-保留TabStrip的Tabs(TabCollection)属性。\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选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例中表单控件都已支持设计)。[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中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置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属性,在网报中可以用自定义样式实现,而不应该写在控件中。[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等布局的话,需要\u003Cem\u003E手工\u003C\u002Fem\u003E指定。[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中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\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的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\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后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会\u003Cem\u003E出\u003C\u002Fem\u003E错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F\u003Cem\u003E出\u003C\u002Fem\u003E纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有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-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会\u003Cem\u003E出\u003C\u002Fem\u003E错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否弹\u003Cem\u003E出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃\u003Cem\u003EJavascript\u003C\u002Fem\u003E。\n\t\t\t-比如简单的点击一个按钮弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父页面加载一个比较大的css文件(~100k),则每次\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中IFrame的显示速度。[fixed]\n\t\t-在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E需要~20ms,在父页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E需要100~300ms。通过缓存弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E实例,从而第二次弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[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增加两个属性(EnableInlineStyle\u003Cem\u003EJavascript\u003C\u002Fem\u003E\u002FApplyParentStyle\u003Cem\u003EJavascript\u003C\u002Fem\u003E),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再弹\u003Cem\u003E出\u003C\u002Fem\u003EIFrame\u003Cem\u003E窗口\u003C\u002Fem\u003E。[fixed]\n\t\t-在回发时设置\u003Cem\u003E窗口\u003C\u002Fem\u003E的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E时要注意设置Popup=false。\n\t\t-另一种做法(推荐):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\u003Cem\u003E窗口\u003C\u002Fem\u003E的按钮,在IE6下会有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中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame弹\u003Cem\u003E出\u003C\u002Fem\u003E\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,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E、\u003Cem\u003E窗口\u003C\u002Fem\u003E标题、IFrameUrl\"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的按钮,在IE下会有JS错误。[fixed]\n\t-Window的右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标增加\u003Cem\u003E提示\u003C\u002Fem\u003E,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE\u003Cem\u003E窗口\u003C\u002Fem\u003E最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的\u003Cem\u003Ejavascript\u003C\u002Fem\u003E框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的\u003Cem\u003E提示\u003C\u002Fem\u003E尽早的显示\u003Cem\u003E出\u003C\u002Fem\u003E来。[fixed]\n\t\t-首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示\u003Cem\u003E出\u003C\u002Fem\u003E来。\n\t\t-加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载\u003Cem\u003E出\u003C\u002Fem\u003E错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会JS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和Asp.netAjax冲突。[fixed]\n\t-优化\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow的js脚本,减少写到页面的js大小。[fixed]\n\t-加快“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E”按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的速度,使用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.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed]\n\t+弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中,点击按钮回发然后点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮,\u003Cem\u003E出\u003C\u002Fem\u003E现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个\u003Cem\u003E手工\u003C\u002Fem\u003E添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了\u003Cem\u003E手工\u003C\u002Fem\u003E去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会\u003Cem\u003E出\u003C\u002Fem\u003E错,同时去除DesignTimeStyle控件(作为PageManager的属性\u003Cem\u003E出\u003C\u002Fem\u003E现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后\u003Cem\u003EJavascript\u003C\u002Fem\u003E渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮弹\u003Cem\u003E出\u003C\u002Fem\u003EIFrame\u003Cem\u003E窗口\u003C\u002Fem\u003E,可直接\u003Cem\u003E关闭\u003C\u002Fem\u003E父页面,也可在\u003Cem\u003E关闭\u003C\u002Fem\u003E后刷新或回发父页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中\u003Cem\u003E打开\u003C\u002Fem\u003E包含有页面C的\u003Cem\u003E窗口\u003C\u002Fem\u003E时,\u003Cem\u003E窗口\u003C\u002Fem\u003E不是在B中\u003Cem\u003E打开\u003C\u002Fem\u003E,而是在A中\u003Cem\u003E打开\u003C\u002Fem\u003E,这样才能保证\u003Cem\u003E窗口\u003C\u002Fem\u003E覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们\u003Cem\u003E窗口\u003C\u002Fem\u003E是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E或者在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,仅仅设置Window的Target属性即可。\n\t\t-示例4,弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中的弹\u003Cem\u003E出\u003C\u002Fem\u003E\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下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次\u003Cem\u003E打开\u003C\u002Fem\u003EWindow中的IFrame不会有残影\u003Cem\u003E出\u003C\u002Fem\u003E现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E时\u003Cem\u003E提示\u003C\u002Fem\u003E用户保存已经修改的内容\u003Cem\u003E提示\u003C\u002Fem\u003E的调用方式(包含iframe中\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮”,可以将\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会\u003Cem\u003E出\u003C\u002Fem\u003E滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当\u003Cem\u003E提示\u003C\u002Fem\u003E信息特别长时,可以让用户阅读完毕之后\u003Cem\u003E手工\u003C\u002Fem\u003E\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E提示\u003C\u002Fem\u003E信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [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-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个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下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须\u003Cem\u003E手工\u003C\u002Fem\u003E设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed]\n\t\t-虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。\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-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会\u003Cem\u003E出\u003C\u002Fem\u003E现各种问题,比如下拉列表显示样式\u003Cem\u003E出\u003C\u002Fem\u003E错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会\u003Cem\u003E出\u003C\u002Fem\u003E现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变\u003Cem\u003E窗口\u003C\u002Fem\u003E大小时你会惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起刷新\u003Cem\u003E窗口\u003C\u002Fem\u003E时那个方法(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),可以启用淡\u003Cem\u003E出\u003C\u002Fem\u003E效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单\u003Cem\u003E出\u003C\u002Fem\u003E错时\u003Cem\u003E提示\u003C\u002Fem\u003E信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示\u003Cem\u003E出\u003C\u002Fem\u003E来)。[fixed]\n\t\t-因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时\u003Cem\u003E关闭\u003C\u002Fem\u003E当前\u003Cem\u003E窗口\u003C\u002Fem\u003E[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的\u003Cem\u003Ejavascript\u003C\u002Fem\u003E中不能有return false语句。\n\t+在文本框失去焦点时,执行一些\u003Cem\u003EJavascript\u003C\u002Fem\u003E脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用\u003Cem\u003Ejavascript\u003C\u002Fem\u003E监视文本框值的改变。\n\t-弹\u003Cem\u003E出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是\"#\"。[fixed]\n\t+弹\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按钮时会有\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覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在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+TabStrip中放置IFrame会\u003Cem\u003E出\u003C\u002Fem\u003E现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置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没有数据,向后翻页按钮可以点击的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控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E的\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的地方需要\u003Cem\u003E手工\u003C\u002Fem\u003E添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003E前\u003Cem\u003E提示\u003C\u002Fem\u003E当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个父页面,而不仅仅是iframe页面。[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-TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在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的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed]\n\t-\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E\u003Cem\u003E提示\u003C\u002Fem\u003E(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可\u003Cem\u003E提示\u003C\u002Fem\u003E先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮的\u003Cem\u003E提示\u003C\u002Fem\u003E保存功能。\n\t-Master\u002FContent的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的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中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.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窗体中的","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~Paid-1-2726130-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2726130-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2726130-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2726130-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"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.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有\u003Cem\u003EJavaScript\u003C\u002Fem\u003E,没有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.net\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+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器\u003Cem\u003E打开\u003C\u002Fem\u003E后,不能弹\u003Cem\u003E出\u003C\u002Fem\u003E\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时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来\u003Cem\u003E关闭\u003C\u002Fem\u003E当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮默认直接\u003Cem\u003E关闭\u003C\u002Fem\u003E,不会弹\u003Cem\u003E出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E。\n\t\t-GetConfirmFormModifiedHideReference的函数中的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默认居中,而不是黄金分割位置。\n\t+Button, Window等控件弹\u003Cem\u003E出\u003C\u002Fem\u003E位置属性的变化。\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中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时\u003Cem\u003E提示\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了弹\u003Cem\u003E出\u003C\u002Fem\u003E菜单的位置在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等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可\u003Cem\u003E关闭\u003C\u002Fem\u003E属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会\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后不能再次\u003Cem\u003E打开\u003C\u002Fem\u003E的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个JS问题(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正弹\u003Cem\u003E出\u003C\u002Fem\u003E\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),如何通过简单的\u003Cem\u003EJavascript\u003C\u002Fem\u003E代码回发父页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(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,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\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),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\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-如何自定义\u003Cem\u003EJavascript\u003C\u002Fem\u003E脚本和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按钮\u003Cem\u003E提示\u003C\u002Fem\u003E信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时\u003Cem\u003E提示\u003C\u002Fem\u003E信息。\n\t\t-为空则使用默认的\u003Cem\u003E提示\u003C\u002Fem\u003E信息,默认的\u003Cem\u003E提示\u003C\u002Fem\u003E信息支持多语言,建议一般情况下使用默认信息。\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过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有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中TemplateField生成到页面中控件具有唯一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,其中包含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确认\u003Cem\u003E对话框\u003C\u002Fem\u003E,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的\u003Cem\u003EJavaScript\u003C\u002Fem\u003E回调函数。\n\t\t-一个典型应用,在Window控件中\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。\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.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的JS代码。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的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+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行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\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导\u003Cem\u003E出\u003C\u002Fem\u003E为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不会被选中(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\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的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过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.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\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下某些弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的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将不会对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();会导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层\u003Cem\u003EJavaScript\u003C\u002Fem\u003E。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩\u003Cem\u003EJavaScript\u003C\u002Fem\u003E和CSS文件。\n\t-Release版本每个页面只包含一个\u003Cem\u003EJavaScript\u003C\u002Fem\u003E文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面\u003Ctitle\u003E标签引入,这样在\u003Chead\u003E中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert\u003Cem\u003E对话框\u003C\u002Fem\u003E会遮挡所有的Window\u003Cem\u003E窗口\u003C\u002Fem\u003E。\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,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义\u003Cem\u003EJavaScript\u003C\u002Fem\u003E组件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中的EnableIFrame==false,则点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时报JS错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生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-如果弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E(Ext-Window)含有ASP.NET控件FileUpload,则此弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E在\u003Cem\u003E关闭\u003C\u002Fem\u003E时\u003Cem\u003E出\u003C\u002Fem\u003E现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接\u003Cem\u003E出\u003C\u002Fem\u003E错时的“Ajax Error”改成更加友好的\u003Cem\u003E提示\u003C\u002Fem\u003E信息“本次连接失败!可能是网络连接\u003Cem\u003E出\u003C\u002Fem\u003E错,请刷新页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层代码优化(主要是\u003Cem\u003EJavascript\u003C\u002Fem\u003E的封装和BUG修复)。[fixed]\n\t\t-底层使用\u003Cem\u003EJavascript\u003C\u002Fem\u003E创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认\u003Cem\u003E提示\u003C\u002Fem\u003E框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不会修改弹\u003Cem\u003E出\u003C\u002Fem\u003E页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个弹\u003Cem\u003E出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件弹\u003Cem\u003E出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件弹\u003Cem\u003E出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则弹\u003Cem\u003E出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,这样用户直接访问B页面也不会\u003Cem\u003E出\u003C\u002Fem\u003E错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003EExt-Window,再然后刷新父页面或回发父页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t\t---现在可以很方便的为Window控件的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮添加\u003Cem\u003E关闭\u003C\u002Fem\u003E后刷新父页面或者\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发父页面的行为。\n\t\t-如果弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E(Window控件)中IFrame的页面不能正常加载(网络暂时\u003Cem\u003E出\u003C\u002Fem\u003E错或页面抛\u003Cem\u003E出\u003C\u002Fem\u003E异常),则此时点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮会报JS错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,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中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在\u003Cem\u003EJavascript\u003C\u002Fem\u003E变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[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),其中target可能的取值为_self,_parent,_top,分别表示在当前\u003Cem\u003E窗口\u003C\u002Fem\u003E,父\u003Cem\u003E窗口\u003C\u002Fem\u003E,顶级\u003Cem\u003E窗口\u003C\u002Fem\u003E重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个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+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报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不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能\u003Cem\u003E提示\u003C\u002Fem\u003E。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能\u003Cem\u003E提示\u003C\u002Fem\u003E。\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-可以方便的在子页面(iframe)中通过js切换父页面中选中的菜单项(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)中设置哪些项不可选择,以及创建模拟下拉树。\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只会改变Accordion的标题大小,而不会对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中的容器,比如ContentPanel需要在外层加上\u003CItems\u003E标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML代码和\u003Cem\u003EJavascript\u003C\u002Fem\u003E代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提\u003Cem\u003E出\u003C\u002Fem\u003E。\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-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的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-保留TabStrip的Tabs(TabCollection)属性。\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选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例中表单控件都已支持设计)。[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中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置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属性,在网报中可以用自定义样式实现,而不应该写在控件中。[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等布局的话,需要\u003Cem\u003E手工\u003C\u002Fem\u003E指定。[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中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\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的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\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后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会\u003Cem\u003E出\u003C\u002Fem\u003E错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F\u003Cem\u003E出\u003C\u002Fem\u003E纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有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-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会\u003Cem\u003E出\u003C\u002Fem\u003E错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否弹\u003Cem\u003E出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃\u003Cem\u003EJavascript\u003C\u002Fem\u003E。\n\t\t\t-比如简单的点击一个按钮弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父页面加载一个比较大的css文件(~100k),则每次\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中IFrame的显示速度。[fixed]\n\t\t-在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E需要~20ms,在父页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E需要100~300ms。通过缓存弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E实例,从而第二次弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[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增加两个属性(EnableInlineStyle\u003Cem\u003EJavascript\u003C\u002Fem\u003E\u002FApplyParentStyle\u003Cem\u003EJavascript\u003C\u002Fem\u003E),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再弹\u003Cem\u003E出\u003C\u002Fem\u003EIFrame\u003Cem\u003E窗口\u003C\u002Fem\u003E。[fixed]\n\t\t-在回发时设置\u003Cem\u003E窗口\u003C\u002Fem\u003E的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E时要注意设置Popup=false。\n\t\t-另一种做法(推荐):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\u003Cem\u003E窗口\u003C\u002Fem\u003E的按钮,在IE6下会有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中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame弹\u003Cem\u003E出\u003C\u002Fem\u003E\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,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E、\u003Cem\u003E窗口\u003C\u002Fem\u003E标题、IFrameUrl\"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的按钮,在IE下会有JS错误。[fixed]\n\t-Window的右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标增加\u003Cem\u003E提示\u003C\u002Fem\u003E,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,\u003Cem\u003E打开\u003C\u002Fem\u003Eiframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE\u003Cem\u003E窗口\u003C\u002Fem\u003E最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的\u003Cem\u003Ejavascript\u003C\u002Fem\u003E框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的\u003Cem\u003E提示\u003C\u002Fem\u003E尽早的显示\u003Cem\u003E出\u003C\u002Fem\u003E来。[fixed]\n\t\t-首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示\u003Cem\u003E出\u003C\u002Fem\u003E来。\n\t\t-加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载\u003Cem\u003E出\u003C\u002Fem\u003E错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会JS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和Asp.netAjax冲突。[fixed]\n\t-优化\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow的js脚本,减少写到页面的js大小。[fixed]\n\t-加快“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E”按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的速度,使用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.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed]\n\t+弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中,点击按钮回发然后点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮,\u003Cem\u003E出\u003C\u002Fem\u003E现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个\u003Cem\u003E手工\u003C\u002Fem\u003E添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了\u003Cem\u003E手工\u003C\u002Fem\u003E去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会\u003Cem\u003E出\u003C\u002Fem\u003E错,同时去除DesignTimeStyle控件(作为PageManager的属性\u003Cem\u003E出\u003C\u002Fem\u003E现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后\u003Cem\u003EJavascript\u003C\u002Fem\u003E渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮弹\u003Cem\u003E出\u003C\u002Fem\u003EIFrame\u003Cem\u003E窗口\u003C\u002Fem\u003E,可直接\u003Cem\u003E关闭\u003C\u002Fem\u003E父页面,也可在\u003Cem\u003E关闭\u003C\u002Fem\u003E后刷新或回发父页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中\u003Cem\u003E打开\u003C\u002Fem\u003E包含有页面C的\u003Cem\u003E窗口\u003C\u002Fem\u003E时,\u003Cem\u003E窗口\u003C\u002Fem\u003E不是在B中\u003Cem\u003E打开\u003C\u002Fem\u003E,而是在A中\u003Cem\u003E打开\u003C\u002Fem\u003E,这样才能保证\u003Cem\u003E窗口\u003C\u002Fem\u003E覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们\u003Cem\u003E窗口\u003C\u002Fem\u003E是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E或者在当前页面弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E,仅仅设置Window的Target属性即可。\n\t\t-示例4,弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中的弹\u003Cem\u003E出\u003C\u002Fem\u003E\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下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次\u003Cem\u003E打开\u003C\u002Fem\u003EWindow中的IFrame不会有残影\u003Cem\u003E出\u003C\u002Fem\u003E现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E时\u003Cem\u003E提示\u003C\u002Fem\u003E用户保存已经修改的内容\u003Cem\u003E提示\u003C\u002Fem\u003E的调用方式(包含iframe中\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮”,可以将\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会\u003Cem\u003E出\u003C\u002Fem\u003E滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当\u003Cem\u003E提示\u003C\u002Fem\u003E信息特别长时,可以让用户阅读完毕之后\u003Cem\u003E手工\u003C\u002Fem\u003E\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E提示\u003C\u002Fem\u003E信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [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-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个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下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须\u003Cem\u003E手工\u003C\u002Fem\u003E设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[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下显示的不同效果。\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-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会\u003Cem\u003E出\u003C\u002Fem\u003E现各种问题,比如下拉列表显示样式\u003Cem\u003E出\u003C\u002Fem\u003E错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会\u003Cem\u003E出\u003C\u002Fem\u003E现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变\u003Cem\u003E窗口\u003C\u002Fem\u003E大小时你会惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起刷新\u003Cem\u003E窗口\u003C\u002Fem\u003E时那个方法(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),可以启用淡\u003Cem\u003E出\u003C\u002Fem\u003E效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单\u003Cem\u003E出\u003C\u002Fem\u003E错时\u003Cem\u003E提示\u003C\u002Fem\u003E信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示\u003Cem\u003E出\u003C\u002Fem\u003E来)。[fixed]\n\t\t-因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时\u003Cem\u003E关闭\u003C\u002Fem\u003E当前\u003Cem\u003E窗口\u003C\u002Fem\u003E[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的\u003Cem\u003Ejavascript\u003C\u002Fem\u003E中不能有return false语句。\n\t+在文本框失去焦点时,执行一些\u003Cem\u003EJavascript\u003C\u002Fem\u003E脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用\u003Cem\u003Ejavascript\u003C\u002Fem\u003E监视文本框值的改变。\n\t-弹\u003Cem\u003E出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是\"#\"。[fixed]\n\t+弹\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按钮时会有\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覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在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+TabStrip中放置IFrame会\u003Cem\u003E出\u003C\u002Fem\u003E现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置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没有数据,向后翻页按钮可以点击的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控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和\u003Cem\u003E关闭\u003C\u002Fem\u003E弹\u003Cem\u003E出\u003C\u002Fem\u003E的\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的地方需要\u003Cem\u003E手工\u003C\u002Fem\u003E添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003E前\u003Cem\u003E提示\u003C\u002Fem\u003E当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个父页面,而不仅仅是iframe页面。[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-TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在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的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed]\n\t-\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E\u003Cem\u003E提示\u003C\u002Fem\u003E(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可\u003Cem\u003E提示\u003C\u002Fem\u003E先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮的\u003Cem\u003E提示\u003C\u002Fem\u003E保存功能。\n\t-Master\u002FContent的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的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中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.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窗体中的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面\u003Cem\u003E窗口\u003C\u002Fem\u003E的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是\u003Cem\u003E窗口\u003C\u002Fem\u003E的标题栏和下边框的高度。\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003EIframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed]\n\t+Grid完善。\n\t\t-去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多问题(主要是状态保持的问题)。\n\t\t+EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx)\n\t\t\t-使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。\n\t\t+增加AllowPaging属性。(示例在grid_paging.aspx)\n\t\t\t-使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。\n\t\t+数据库分页支持。(示例在grid_database_paging.aspx)\n\t\t\t-使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.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~Rate-2-2190657-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2190657-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2190657-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2190657-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257","title":"网管教程 从入门到精通软件篇.txt","desc":"网管教程 从入门到精通软件篇\n\n\n★一。★详细的xp修复控制台命令和用法!!! \n放入xp(2000)的光盘,安装时候选R,修复! \nWindows XP(包括 Windows 2000)的控制台命令是在系统\u003Cem\u003E出\u003C\u002Fem\u003E现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 \n  Bootcfg \n  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。 \n  含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令\u003Cem\u003E提示\u003C\u002Fem\u003E符下使用带有不同参数的 bootcfg 命令。 \n  用法: \n  bootcfg \u002Fdefault  设置默认引导项。 \n  bootcfg \u002Fadd    向引导列表中添加 Windows 安装。 \n  bootcfg \u002Frebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。 \n  注意:使用 bootcfg \u002Frebuild 之前,应先通过 bootcfg \u002Fcopy 命令备份 boot.ini 文件。 \n  bootcfg \u002Fscan    扫描用于 Windows 安装的所有磁盘并显示结果。 \n  注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。 \n  bootcfg \u002Flist   列\u003Cem\u003E出\u003C\u002Fem\u003E引导列表中已有的条目。 \n  bootcfg \u002Fdisableredirect 在启动引导程序中禁用重定向。 \n  bootcfg \u002Fredirect [ PortBaudRrate] |[ useBiosSettings] \n  在启动引导程序中通过指定配置启用重定向。 \n  范例: \nbootcfg \u002Fredirect com1 115200 \nbootcfg \u002Fredirect useBiosSettings \n  hkdsk \n  创建并显示磁盘的状态报告。Chkdsk 命令还可列\u003Cem\u003E出\u003C\u002Fem\u003E并纠正磁盘上的错误。 \n  含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令\u003Cem\u003E提示\u003C\u002Fem\u003E符下使用带有不同参数的 chkdsk 命令。 \n  vol [drive:] [ chkdsk [drive:] [\u002Fp] [\u002Fr] \n  参数  无 \n  如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 \ndrive: 指定要 chkdsk 检查的驱动器。 \n\u002Fp   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 \n\u002Fr   找到坏扇区并恢复可读取的信息。隐含着 \u002Fp 参数。 \n  注意 \nChkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 \nDiskpart \n  创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。 \n  diskpart [ \u002Fadd |\u002Fdelete] [device_name |drive_name |partition_name] [size] \n  参数 无 \n  如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。 \n  \u002Fadd \n  创建新的分区。 \n  \u002Fdelete \n  删除现有分区。 \n  device_name \n  要创建或删除分区的设备。设备名称可从 map 命令的输\u003Cem\u003E出\u003C\u002Fem\u003E获得。例如,设备名称: \n  DeviceHardDisk0 \n  drive_name \n  以驱动器号表示的待删除分区。仅与 \u002Fdelete 同时使用。以下是驱动器名称的范例: \n  D: \n  partition_name \n  以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 \u002Fdelete 同时使用。以下是分区名称的范例: \n  DeviceHardDisk0Partition1 \n   大小 \n  要创建的分区大小,以兆字节 (MB)表示。仅与 \u002Fadd 同时使用。 \n  范例 \n  下例将删除分区: \ndiskpart \u002Fdelete Device HardDisk0 Partition3 \ndiskpart \u002Fdelete F: \n  下例将在硬盘上添加一个 20 MB 的分区: \n  diskpart \u002Fadd Device HardDisk0 20 \n  Fixboot \n  向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。 \n  fixboot [drive] \n  参数  驱动器 \n  将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D: \n  范例 \n  下列命令范例向驱动器 D: 的系统分区写入新的分区引导扇区: \n  fixboot d: \n  注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。 \n  Fixmbr \n  修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。 \n  fixmbr [ device_name] \n  参数 \n  device_name \n  要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输\u003Cem\u003E出\u003C\u002Fem\u003E获得。例如,设备名称: \n  DeviceHardDisk0 \n  范例 \n  下列命令示例向指定设备写入一个新的主引导记录: \n  fixmbr DeviceHardDisk0 \n  注意 \n如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。 \n如果系统检测到无效或非标准分区表标记,将\u003Cem\u003E提示\u003C\u002Fem\u003E用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。 \n  format \n  将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令\u003Cem\u003E提示\u003C\u002Fem\u003E符下使用带有不同参数的 format 命令。 \n  format [ drive:] [ \u002Ffs:file-system] \n  参数 \n  drive: \n  指定要格式化的驱动器。不能从故障恢复控制台格式化软盘。 \n  \u002Fq \n  对驱动器进行快速格式化。不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。 \n  \u002Ffs:file-system \n  指定要使用的文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。 \n  Map \n  显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。 \n  map 命令仅在使用故障恢复控制台时才可用。 \n  Map [ arc] \n  参数 \n  arc \n  指示 map 命令显示高级 RISC 计算 (ARC)设备名称而不是设备名称。以下是 ARC 设备名称的范例: \n  multi(0)disk(0)rdisk(0)partition(1) \n  等价的设备名称是: \n  DeviceHardDisk0Partition1 \n  范例 \n  下例将物理设备名映射为使用 ARC 设备名称的驱动器号: \n  map arc \n  注意 \n如果不使用 arc 参数,则 map 命令显示设备名称。 \nmap 命令还显示文件系统的类型和每个磁盘的大小(MB)。 \n二。★★★常见文件扩展名和它们的说明 \n常见文件扩展名和它们的说明 \nA \nACE:Ace压缩档案格式 \nACT:Microsoft office助手文件 \nAIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 \nANI:Windows系统中的动画光标 \nARC:LH ARC的压缩档案文件 \nARJ:Robert Jung ARJ压缩包文件 \nASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming \nformat,ASF)的描述文件;可用NSREX\u003Cem\u003E打开\u003C\u002Fem\u003E Velvet Studio例子文件 \nASF:Microsoft高级流媒体格式文件 \nASM:汇编语言源文件,Pro\u002FE装配文件 \nASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 \nAST:Astound多媒体文件;ClarisWorks“助手”文件 \nAxx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) \nA3L:Authorware 3.x库文件 \nA4L:Authorware 4.x库文件 \nA5L:Authorware 5.x库文件 \nA3M,A4M:Authorware Macintosh未打包文件 \nA3W,A4W,A5W:未打包的Authorware Windows文件 \nB \nBAK:备份文件 \nBAS:BASIC源文件 \nBAT:批处理文件 \nBIN:二进制文件 \nBINHex:苹果的一种编码格式 \nBMP:Windows或OS\u002F2位图文件 \nBOOK:Adobe FrameMaker Book文件 \nBOX:Lotus Notes的邮箱文件 \nBPL:Borlard Delph 4打包库 \nBSP:Quake图形文件 \nBUN:CakeWalk 声音捆绑文件(一种MIDI程序) \nC \nC0l:台风波形文件 \nCAB:Microsoft压缩档案文件 \nCAD:Softdek的Drafix CAD文件 \nCAM:Casio照相机格式 \nCAP:压缩音乐文件格式 \nCAS:逗号分开的ASCⅡ文件 \nCCB:Visual Basic动态按钮配置文件 \nCCH:Corel图表文件 \nCCO:CyberChat数据文件 \nCCT:Macromedia Director Shockwave投影 \nCDA:CD音频轨道 \nCDF:Microsoft频道定义格式文件 \nCDI:Philip的高密盘交互格式 \nCDM:Visual dBASE自定义数据模块文件 \nCDR:CorelDRAW绘图文件;原始音频CD数据文件 \nCDT:CorelDRAW模板 \nCDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件 \nCFG:配置文件 \nCGI:公共网关接口脚本文件 \nCGM:计算机图形元文件 \nCH:OS\u002F2配置文件 \nCHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 \nCHM:编译过的HTML文件 \nCHP:Ventura Publisher章节文件 \nCHR:字符集(字体文件) \nCHT:ChartViem文件;Harvard Graphics矢量文件 \nCIF:Adaptec CD 创建器 CD映像文件 \nCIL:Clip Gallery下载包 \nCIM:SimCity 2000文件 \nCIN:OS\u002F2改变控制文件用于跟踪INI文件中的变化 \nCLASS:Java类文件 \nCLP:Windows 剪贴板文件 \nCLL:Crick Software Clicker文件 \nCLS:Visual Basic类文件 \nCMD:Windows NT,OS\u002F2的命令文件;DOS CD\u002FM命令文件;dBASEⅡ程序文件 \nCPI:Microsoft MS-DOS代码页信息文件 \nCPL:控制面板扩展名,Corel颜色板 \nCPP:C++代码文件 \nCPR:Corel提供说明书文件 \nCPT:Corel 照片-绘画图像 \nCST:Macromedia Director Cast文件 \nCUR:Windows光标文件 \nD \nDBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel \n97\u003Cem\u003E打开\u003C\u002Fem\u003E);Oracle 8.1.x表格空间文件 \nDBX:DataBearn图像;Microsoft Visual FoxPro表格文件 \nDCT:Microsoft Visual FoxPro数据库容器 \nDCU:Delphi编译单元文件 \nDCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏 \nDIR:MacromediaDirector文件 \nDLL:动态链接库 \nDOC:FrameMaker或FrameBuilder文档;Word Star文档、Word \nPerfect文档、Microsoft:Word文档;DisplayWrite文档 \nDOT:Microsoft Word文档模板 \nDPL:Borland Delph 3压缩库 \nDRV:驱动程序 \nDRW:Micrografx Designer\u002FDraw;Pro\u002FE绘画文件 \nDSF:Micrografx Designer VFX文件 \nDSG:DOOM保存的文件 \nDSM:Dynamic Studio音乐模块(MOD)文件 \nDSP:Microsoft Developer Studio工程文件 \nDSQ:Corel QUERY(查询)文件 \nDST:刺绣机图形文件 \nDSW:Microsoft Developer Studio工作区文件 \nDTA:World Bank(世界银行)的STARS数据文件 \nDTD:SGML文档类型定义(DTD)文件 \nDTED:地面高度数字数据(图形的数据格式)文件 \nDTF:Symantec Q&A相关的数据库数据文件 \nDTM:DigiTrakker模块文件 \nDUN:Microsoft拔号网络导\u003Cem\u003E出\u003C\u002Fem\u003E文件 \nDV:数字视频文件(MIME) \nDWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式 \nDXR:Macromedia Director受保护(不可编辑)电影文件 \nE \nEDA:Ensoniq ASR磁盘映像 \nEDD:元素定义文档(FrameMaker+SGML文档) \nEDE:Ensoniq EPS磁盘映像 \nEDK:Ensoniq KT磁盘映像 \nEDQ:Ensoniq SQ1\u002FSQ2\u002FKs32磁盘映像 \nEDS:Ensoniq SQ80磁盘映像 \nEDV:Ensoniq VFX-SD磁盘映像 \nEFA:Ensoniq ASR文件 \nEFE:Ensoniq EPS文件 \nEFK:Ensoniq KT文件 \nEFQ:Ensoniq SQ1\u002FSQ2\u002FKs32文件 \nEFS:Ensoniq SQ80文件 \nEFV:Ensoniq VFX-SD文件 \nEMD:ABT扩展模块 \nEMF:Windows增强元文件 \nEML:Microsoft Outlook Express邮件消息(MIME RTC822)文件 \nEXE:可执行文件(程序) \nF \nFAV:Microsoft Outlook导航条 \nFAX:传真类型图像 \nFCD:虚拟CD-ROM \nFDF:Adobe Acrobat表单文档文件 \nFLA:Macromedia Flash电影 \nFND:Microsoft Explorer保存的搜索文件(Find applet) \nFON:系统字体 \nFRT:Microsoft FoxPro报表文件 \nFRX:Visual Basic表单文本;Microsoft FoxPro报表文件 \nFXP:经Microsoft FoxPro编译的源文件 \nG \nGDM:铃声、口哨声和声音板模块格式 \nGetRight:GetRight未完成的下载文件 \nGHO:Norton 克隆磁盘映像 \nGID:Windows 95全局索引文件(包括帮助状态) \nGIF:CompuServe位图文件 \nGL:动画格式 \nGRP:程序管理组 \nH \nHEX:Macintosh BinHex2.0文件 \nHLP:帮助文件;Date CAD Windows帮助文件 \nHPP:C++程序头文件 \nHQX:Macintosh BinHex 4.0文件 \nHT:HyperTerminal(超级终端) \nHTM,HTML:超文本文档 \nHTT:Microsoft超文本模板 \nHTX:扩展HTML模板 \nI \nICO:Windows图标 \nIDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook \nExpress文件 \nIMG:GEM映像 \nINF:信息文件 \nINI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装 \nINP:Oracle 3.0版或早期版本的表单源代码 \nINRS:INRS远程通信声频 \nINS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell\u002FⅡMAC\u002FPC抽样设备 \nINT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码 \nIOF:Findit文档 \nIQY:Microsoft Internet查询文件 \nISO:根据ISD 9660有关CD-ROM文件系统标准列\u003Cem\u003E出\u003C\u002Fem\u003ECD-ROM上的文件 \nISP:X-Internet签字文件 \nIST:数字跟踪设备文件 \nISU:InstallShield卸装脚本 \nIT:脉冲跟踪系统音乐模块(MOD)文件 \nITI:脉冲跟踪系统设备 \nITS:脉冲跟踪系统抽样,Internet文档位置 \nIV:Open Inventor中使用的文件格式 \nIVD:超过20\u002F20微观数据维数或变量等级文件 \nIVP:超过20\u002F20的用户子集配置文件 \nIVT:超过20\u002F20表或集合数据文件 \nIVX:超过20\u002F20微数据目录文件 \nIW:Idlewild屏幕保护程序 \nIWC:Install Watch文档 \nJ \nJ62:Ricoh照相机格式 \nJAR:Java档案文件(一种用于applet和相关文件的压缩文件) \nJAVA:Java源文件 \nJAR:Java档案文件(一种用于applet和相关文件的压缩文件) \nJAVA:Java源文件 \nJFF,JFIF,JIF:JPEG文件 \nJPE,JPEG,JPG:JPEG图形文件 \nJS:\u003Cem\u003Ejavascript\u003C\u002Fem\u003E源文件 \nJSP:HTML网页,其中包含有对一个Java servlet的参考 \nK \nKAR:卡拉OK MIDI文件(文本+MIDI) \nL \nLAB:Visual dBASE标签文件 \nLBT,LBX:Microsoft FoxPro标签文件 \nLDB:Microsoft Access加锁文件 \nLHA:LZH更换文件后缀 \nLOG:日志文件 \nLZH:LH ARC压缩档案 \nM \nM1V:MPEG相关文件(MIME\"mpeg\"类型) \nM3D:Corel Motion 3D动画文件 \nM3U:MPEG URL(MIME声音文件) \nMAM:Microsoft Access宏 \nMAQ:Microsoft Access查询文件 \nMAR:Microsoft Access报表文件 \nMBX:Microsoft Outlook保存email格式;Eudora邮箱 \nMCW:Microsoft Word的Macintosh文档 \nMDB:Microsoft Access数据库 \nMDN:Microsoft Access空数据库模板 \nMDW:Microsoft Access工作组文件 \nMID:MIDI音乐 \nMMM:Microsoft多媒体电影 \nMOV:QuickTime for Windows电影 \nMP2:第二层MPEG音频文件 \nMP3:第三层MPEG音频文件 \nMPA:MPEG相关文件,MIME“mpeg类型” \nMPE,MPEG,MPG:MPEG动画文件 \nMPP:Microsoft工程文件;CAD绘图文件格式 \nMPR:Microsoft FoxPro菜单(已编译) \nMSI:Windows 安装器包 \nMSN:Microsoft 网络文档;Descent Mission文件 \nO \nOBD:Microsoft Office活页夹 \nOBJ:对象文件 \nOBZ:Microsoft Office活页夹向导 \nOCX:Microsoft对象链接与嵌入定制控件 \nODS:Microsoft Outlook Express邮箱文件 \nOFT:Microsoft Outlook模板 \nOPX:OPL扩展DLL(动态链接库) \nOSS:Microsoft Office查找文件 \nOST:Microsoft Exchange \u002F Outlook 离线文件 \nP \nPAL:压缩文件 \nPART:Go!Zilla部分下载文件 \nPAS:Pascal源代码 \nPCS:PICS动画文件 \nPDF:Adobe Acrobat \n可导\u003Cem\u003E出\u003C\u002Fem\u003E文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件 \nPHP,PHP3:包含有PHP脚本的HTML网页 \nPHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML \nPM5:Pagemaker 5.0文件 \nPM6:Pagemaker 6.0文件 \nPPS:Microsoft Powerpoint幻灯片放映 \nPPT:Microsoft Powerpoint演示文稿 \nPRF:Windows系统文件,Macromedia导演设置文件 \nPSD:Adobe photoshop位图文件 \nPSM:Protracker Studio模型格式;Epic游戏的源数据文件 \nPST:Microsoft Outlook个人文件夹文件 \nPWL:Windows 95口令列表文件 \nQ \nQIF:QuickTime相关图像(MIME);Quicken导入文件 \nQT,QTM:QuickTime电影 \nQTI,QTIF:QuickTime相关图像 \nQTP:QuickTime优先文件 \nQTS:Mac PICT图像文件;QuickTime相关图像 \nQTX:QuickTime相关图像 \nR \nRA:RealAudio声音文件 \nRAM:RealAudio元文件 \nRAR:RAR压缩档案(Eugene Roshall格式) \nREC:录音机宏;RapidComm声音文件 \nREG:注册表文件 \nREP:Visual dBASE报表文件 \nRES:Microsoft Visual C++资源文件 \nRM:RealAudio视频文件 \nRMF:Rich Map格式(3D游戏编辑器使用它来保存图) \nROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari \n2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改) \nRxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字) \nS \nSAV:游戏保存文件 \nSB:原始带符号字节(8位)数据 \nSBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)\u002FEMU SonndFont v1.x \nBank文件 \nSBL:Shockwave Flash对象文件 \nSCF:Windows Explorer命令文件 \nSCH:Microsoft Schedule+1 \nSCP:拨号网络脚本文件 \nSCR:Windows屏幕保护;传真图像;脚本文件 \nSFX:RAR自解压档案 \nSHTML:含有服务器端包括(SSI)的HTML文件 \nSPL:Shockwave Flash对象;DigiTrakker抽样 \nSQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名 \nSTM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件 \nSTR:屏幕保护文件 \nSWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件 \nSWF:Shockwave Flash对象 \nSYS:系统文件 \nT \nT64:Commodore 64仿真器磁带映像文件 \nTHEME:Windows 95桌面主题文件 \nTIF,TIFF:标签图像文件格式(TIFF)位图 \nTMP:Windows临时文件 \nTRM:终端文件 \nTXT:ASCⅡ文本格式的声音数据 \nTZ:老的压缩格式文件 \nV \nVBA:VBase文件 \nVBP:Microsoft Visual Basic工程文件 \nVBW:Microsoft Visual Basic工作区文件 \nVBX:Microsoft Visual Basic用户定制控件 \nVQE,VQL:Yamaha Sound-VQ定位器文件 \nVQF:Yamaha Sound-VQ文件(可能\u003Cem\u003E出\u003C\u002Fem\u003E现标准) \nVRF:Oracle 7配置文件 \nVSL:下载列表文件(GetRight) \nW \nWAB:Microsoft Outlook文件 \nWAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件 \nWAL:Quake 2正文文件 \nWAV:Windows波形声形 \nWBK:Microsoft Word备份文件 \nWFM:Visual dBASE Windows表单 \nWFN:在CorelDRAW中使用的符号 \nWIZ:Microsoft Word向导 \nWRL:虚拟现实模型 \nWWL:Microsoft Word内插器文件 \nX \nXLK:Microsoft Excel备份 \nXLL:Microsoft Excel内插器文件 \nXLM:Microsoft Excel宏 \nXLS:Microsoft Excel工作单 \nXLT:Microsoft Excel模板 \nXLV:Microsoft Excel VBA模块 \nXLW:Microsoft Excel工作簿\u002F工作区 \nZ \nZAP:Windows软件安装配置文件 \nZIP:Zip文件 \n000-999:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号 \n12M:Lotus 1-2-3 97 SmartMaster文件 \n123:Lotus 1-2-3 97文件 \n2D:VersaCAD的2维绘画文件 \n2GR,3GR:在Windows之下的VGA图形驱动程序\u002F配置文件 \n386:在386或更高级处理器上使用的文件 \n3D:VersaCAD的3维绘画文件 \n3DM:3D NURBS建模器,Rhino \n3DS:3D Studio(DOS下)格式文件 \n386:在386或更高级处理器上使用的文件 \n4GE:Informix 4GL编译后代码 \n4GL:Informix 4GL源代码 \n669:Composer 669;UNIX Composer音乐模型文件;669磁道模块 \n#01 及更高的号:为计算机演示而扫描的一系列电影的图片文件编号方法 \n???:OS\u002F2用来跟踪档案文件 \n@@@:用于安装过程中的屏幕文件和用于Microsoft Code view for C这样的应用程序的指导文件 \n[color=#6b6b6b] [\u002Fcolor]\n三。★★★GHOST怎么用? \n系统备份 \n使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面弹\u003Cem\u003E出\u003C\u002Fem\u003E的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。 \n选Local→Partition→To Image菜单,弹\u003Cem\u003E出\u003C\u002Fem\u003E硬盘选择\u003Cem\u003E窗口\u003C\u002Fem\u003E,开始分区备份操作。点击该\u003Cem\u003E窗口\u003C\u002Fem\u003E中白色的硬盘信息条,选择硬盘,进入\u003Cem\u003E窗口\u003C\u002Fem\u003E,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。 在弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给\u003Cem\u003E出\u003C\u002Fem\u003E3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。 \n系统克隆 \n硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。 \nGhost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据内容装下。 \nGhost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。 \n系统还原 \n如果硬盘中备份的分区数据受到损坏,用一般数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 \n要恢复备份的分区,就在界面中选择菜单Local→Partition→From Image,在弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择还原的备份文件,再选择还原的硬盘和分区,点击Yes按钮即可。 \n软件特性 \n存贮介质 \nGhost 支持的存储介质超\u003Cem\u003E出\u003C\u002Fem\u003E了我们的想象,它支持对等LPT接口、对等USB接口、对等TCP\u002FIP接口、SCSI磁带机、便携式设备(JAZ、ZIP、MO等)、光盘刻录机(CDR、CDRW)等。而这些特性不需要任何外带的驱动程序和软件,只需一张软盘就可以做到!特别是对光盘刻录机的支持,如今的刻录机和空白光盘都十分便宜,非常适合作备份的用途。 \n兼容性 \nGhost 对现有的操作系统都有良好的支持,包括FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL等文件存储格式。同以前版本不同的是,Ghost 2001加入了对Linux EX2的支持(FIFO文件存储格式),这也就意味着Linux的用户也可以用Ghost来备份系统了。 \n配套软件支持 \nGhost浏览器:在以前的Ghost版本中,我们只能对系统进行简单的备份、复制、还原,要恢复单个的文件和文件夹还要使用外带的GhostEXP软件。现在,Symantec公司已经将Ghost浏览器整合在软件中。Ghost浏览器采用类似于资源管理器的界面,通过它,我们可以方便迅速地在备份包中找\u003Cem\u003E出\u003C\u002Fem\u003E我们想要的文件和文件夹并还原。 \nGdisk:Gdisk是一个新加入的实用工具,它彻底取代了FDisk和format: \n* 快速格式化。 \n* 隐藏和显示分区的能力。此功能允许一个以上的主DOS分区,并且每个分区上的操作系统有不同的版本。隐藏分区的能力使计算机习惯于引导到选定的可引导分区,忽略其他隐藏分区中相同操作系统的安装。 \n* 全面的分区报告。 \n* 高度安全的磁盘擦除。提供符合美国国防部标准和更高安全标准的磁盘擦除选项。 \n和使用交互式菜单的FDisk不同,GDisk是由命令行驱动的。这提供了更快的配置磁盘分区和在批处理文件中定义GDisk操作的能力。但与此同时,几十个参数会令普通用户头疼,因此笔者不推荐一般用户使用,Symantec公司也应该推\u003Cem\u003E出\u003C\u002Fem\u003E相应的GUI(图形用户界面)控制台以方便用户使用。具体的参数说明可以用命令行gdisk\u002F?了解。 \nLive Update \nLive Update是Symantec公司软件的一个通用升级程序,它能够检查当前系统中已安装的Symantec软件,并且通过英特网对软件进行在线升级。 \n在安装Ghost 2001时,安装程序自动升级了Live Update程序的版本。 \nGhost 的进阶篇 \n附加的命令行参数:(限Ghost的无人备份\u002F恢复\u002F复制) \n其实Ghost 2001的功能远远不止它主程序中显示的那些,Ghost可以在其启动的命令行中添加众多参数以实现更多的功能。命令行参数在使用时颇为复杂,不过我们可以制作批处理文件,从而“一劳永逸”(类似于无人安装Windows 98和Windows 2000)现在让我们来了解一些常用的参数(了解更加详细的参数介绍可查看Ghost的帮助文件)。 \n1.-rb \n本次Ghost操作结束退\u003Cem\u003E出\u003C\u002Fem\u003E时自动重启。这样,在复制系统时就可以放心离开了。 \n2.-fx \n本次Ghost操作结束退\u003Cem\u003E出\u003C\u002Fem\u003E时自动回到DOS\u003Cem\u003E提示\u003C\u002Fem\u003E符。 \n3.-sure \n对所有要求确认的\u003Cem\u003E提示\u003C\u002Fem\u003E或警告一律回答“Yes”。此参数有一定危险性,只建议高级用户使用。 4.-fro \n如果源分区发现坏簇,则略过\u003Cem\u003E提示\u003C\u002Fem\u003E强制拷贝。此参数可用于试着挽救硬盘坏道中的数据。 \n[email=5.@filename][color=#0000ff]5.@filename[\u002Fcolor][\u002Femail] \n在filename中指定txt文件。txt文件中为Ghost的附加参数,这样做可以不受DOS命令行150个字符的限制。 \n6.-f32 \n将源FAT16分区拷贝后转换成FAT32(前提是目标分区不小于2G)。WinNT 4和Windows95、97用户慎用。 \n7.-bootcd \n当直接向光盘中备份文件时,此选项可以使光盘变成可引导。此过程需要放入启动盘。 \n8.-fatlimit \n将NT的FAT16分区限制在2G。此参数在复制Windows NT分区,且不想使用64k\u002F簇的FAT16时非常有用。 \n9.-span \n分卷参数。当空间不足时\u003Cem\u003E提示\u003C\u002Fem\u003E复制到另一个分区的另一个备份包。 \n10.-auto \n分卷拷贝时不\u003Cem\u003E提示\u003C\u002Fem\u003E就自动赋予一个文件名继续执行。 \n11.-crcignore \n忽略备份包中的CRC ERROR。除非需要抢救备份包中的数据,否则不要使用此参数,以防数据错误。 \n12.-ia \n全部映像。Ghost会对硬盘上所有的分区逐个进行备份。 \n13.-ial \n全部映像,类似于-ia参数,对Linux分区逐个进行备份。 \n14.-id \n全部映像。类似于-ia参数,但包含分区的引导信息。 \n15.-quiet \n操作过程中禁止状态更新和用户干预。 \n16.-script \n可以执行多个Ghost命令行。命令行存放在指定的文件中。 \n17.-span \n启用映像文件的跨卷功能。 \n18.-split=x \n将备份包划分成多个分卷,每个分卷的大小为x兆。这个功能非常实用,用于大型备份包复制到移动式存储设备上,例如将一个1.9G的备份包复制到3张刻录盘上。 \n19.-z \n将磁盘或分区上的内容保存到映像文件时进行压缩。-z或-z1为低压缩率(快速);-z2为高压缩率(中速);-z3至-z9压缩率依次增大(速度依次减慢)。 \n20.-clone \n这是实现Ghost无人备份\u002F恢复的核心参数。使用语法为: \n-clone,MODE=(operation),SRC=(source),DST=(destination),[SZE(size),SZE(size)......] \n此参数行较为复杂,且各参数之间不能含有空格。   其中operation意为操作类型,值可取:copy:磁盘到磁盘;load:文件到磁盘;dump:磁盘到文件;pcopy:分区到分区;pload:文件到分区;pdump:分区到文件。 \nSource意为操作源,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径。 \nDestination意为目标位置,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径;@CDx,刻录机,x表示刻录机的驱动器号,从1开始。 \n下面举例说明 \n命令行参数:ghostpe.exe -clone,mode=copy,src=1,dst=2 \n完成操作:将本地磁盘1复制到本地磁盘2。 \n命令行参数:ghostpe.exe -clone,mode=pcopy,src=1:2,dst=2:1 \n完成操作:将本地磁盘1上的第二分区复制到本地磁盘2的第一分区。 命令行参数:ghostpe.exe-clone,mode=load,src=g:Λprtdisk.gho,dst=1,sze1=450M,sze2=1599M,sze3=2047M \n完成操作:从映像文件装载磁盘1,并将第一个分区的大小调整为450MB,第二个调整为1599MB,第三个调整为2047MB。 \n命令行参数:ghostpe.exe -clone,mode=pdump,src2:1:4:6,dst=d:prt246.gho \n完成操作:创建仅具有选定分区的映像文件。从磁盘2上选择分区1、4、6。 \n了解了这些参数后,我们就可以轻松地实现Ghost的无人备份\u002F复制\u002F恢复了。冲杯咖啡吧。 \n一些示例 \nghost.exe -clone,mode=copy,src=1,dst=2 -sure \n硬盘对拷 \nghost.exe -clone,mode=pcopy,src=1:2,dst=2:1 -sure \n将一号硬盘的第二个分区复制到二号硬盘的第一个分区 \nghost.exe -clone,mode=pdump,src=1:2,dst=g:bac.gho \n将一号硬盘的第二个分区做成映像文件放到g分区中 \nghost.exe -clone,mode=pload,src=g:bac.gh2,dst=1:2 \n从内部存有两个分区的映像文件中,把第二个分区还原到硬盘的第二个分区 \nghost.exe -clone,mode=pload,src=g:bac.gho,dst=1:1 -fx -sure -rb \n用g盘的bac.gho文件还原c盘。完成后不显示任何信息,直接启动。 \nghost.exe -clone,mode=load,src=g:bac.gho,dst=2,SZE1=60P,SZE2=40P \n将映像文件还原到第二个硬盘,并将分区大小比例修改成60:40 \n还原磁盘 \n首先做一个启动盘,包含Config.sys,Autoexec.bat,Command.com,Io.sys,Ghost.exe文件(可以用windows做启动盘的程序完成)。 \nAutoexec.bat可以包含以下命令: \nGhost.exe -clone,mode=pload,src=d:bac.gho,dst=1:1 -fx -sure -rb \n\u003Cem\u003E利用\u003C\u002Fem\u003E在d盘的文件自动还原,结束以后自动跳\u003Cem\u003E出\u003C\u002Fem\u003Eghost并且重新启动。 \n开机自动做C区的备份,在D区生成备份文件bac.gho。 \nghost.exe -clone,mode=pdump,src=1:1,dst=d:bac.gho -fx -sure -rb \n还原光盘 \n包含文件:Config.sys,Autoexec.bat,Mscdex.exe(CDROM执行程序),Oakcdrom.sys(ATAPI CDROM兼容驱动程序),Ghost.exe \nConfig.sys内容为: \nDEVICE=OAKCDROM.SYS \u002FD:IDECD001 \nAutoexec.bat内容为: \nMSCDEX.EXE \u002FD:IDECE001 \u002FL:Z \nGhost -clone,mode=load,src=z:bac.gho,dst=1:1 -sure -rb \n可以根据下面的具体说明修改实例 \n-clone 在使用时必须加入参数,它同时也是所有的switch{batch switch}里最实用的一种,下面是clone所定义的参数 \n-clone, \nmode={copy|load|dump|pcopy|pload|pdump}, \nsrc={drive|file|driveartition}, \ndst={drive|file|driveartition} \nmode指定要使用哪种clone所提供的命令 \ncopy 硬盘到硬盘的复制(disk to disk copy) \nload 文件还原到硬盘(file to disk load) \ndump 将硬盘做成映像文件(disk to file dump) \npcopy 分区到分区的复制(partition to partition copy) \npload 文件还原到分区(file to partition load) \npdump 分区备份成映像文件(partition to file dump) \nsrc指定了ghost运行时使用的源分区的位置模式及其意义: \nmode命令 对应mode命令src所使用参数 例子 \nCOPY\u002FDUMP \n源硬盘号。 \n以1代表第一号硬盘 \nLOAD 映像文件名 \ng:\u002Fback98\u002Fsetup98.gho 或装置名称(drive) \nPCOPY\u002FPDUMP \n源分区号。 \n1:2代表的是硬盘1的第二个分区 \nPLOAD 分区映像文件名加上分区号或是驱动器名加上分区号。 \ng:back98setup98.gh2,代表映像文件里的第二个分区 \ndst运行Ghost时使用的目标位置模式及其意义: \nmode命令 对应mode命令dst所使用参数 例子 \nCOPY\u002FDUMP 目的硬盘号。 \n2代表第二号硬盘 \nLOAD 硬盘映像文件名。 \n例g:back98setup98.gho \nPCOPY\u002FPLOAD 目的分区号。 \n2:2 代表的是,硬盘2的第二个分区 \nPDUMP 分区映像文件名加分区号。 \ng:back98setup98.gh2 \nSZEn指定所使用目的分区的大小 \nn=xxxxM 指定第n目的分区的大小为xxxxMB SZE2=800M表示分区2的大小为800MB \nn=mmP 指定地n的目的分区的大小为整个硬盘的mm个百分比。 \n其他参数 \n-fxo 当源物件\u003Cem\u003E出\u003C\u002Fem\u003E现坏块时,强迫复制继续进行 \n-fx 当ghost完成新系统的工作后不显示\"press ctrl-alt-del to reboot\"直接回到DOS下 \n-ia 完全执行扇区到扇区的复制。当由一个映像文件或由另一个硬盘为来源,复制一个分区时,Ghost将首先检查来源分区,再决定是要复制文件和目录结构还是要做映像复制(扇区到扇区)。预设是这种形式。但是有的时候,硬盘里特定的位置可能会放一些隐藏的与系统安全有关的文件。只有用扇区到扇区复制的方法才能正确复制 \n-pwd and -pwd=x 给映像文件加密 \n-rb 在还原或复制完成以后,让系统重新启动 \n-sure 可以和clone合用。Ghost不会显示\"proceed with disk clone-destination drive will be overwritten?\"\u003Cem\u003E提示\u003C\u002Fem\u003E信息 \n注意事项 \n1. 在备份系统时,单个的备份文件最好不要超过2GB。 \n2.在备份系统前,最好将一些无用的文件删除以减少Ghost文件的体积。通常无用的文件有:Windows的临时文件夹、IE临时文件夹、Windows的内存交换文件。这些文件通常要占去100多兆硬盘空间。 \n3.在备份系统前,整理目标盘和源盘,以加快备份速度。 \n4.在备份系统前及恢复系统前,最好检查一下目标盘和源盘,纠正磁盘错误。 \n5.在恢复系统时,最好先检查一下要恢复的目标盘是否有重要的文件还未转移,千万不要等硬盘信息被覆盖后才后悔莫及啊。 \n6.在选择压缩率时,建议不要选择最高压缩率,因为最高压缩率非常耗时,而压缩率又没有明显的提高。 \n7.在新安装了软件和硬件后,最好重新制作映像文件,否则很可能在恢复后\u003Cem\u003E出\u003C\u002Fem\u003E现一些莫名其妙的错误。 \n------------------------------------------------------------------------------- \nGhostpe.exe菜单选项介绍 \nNorton Ghost的帮助文件中要求Ghostpe.exe在纯DOS下运行,其实它在WINDOWS的MS-DOS中运行也是可以的,同样可以对系统进行备份和还原。 \n开机进入DOS,键入Ghostpe.exe所在的目录路径名,比如:E:Ghostpe.exe 回车,程序即开始运行。首先\u003Cem\u003E出\u003C\u002Fem\u003E现的是Ghost版本介绍\u003Cem\u003E窗口\u003C\u002Fem\u003E,回车后进入主界面。菜单选项有: \n  (一)“Local”(本地的) \n  1、Disk(磁盘) \n(1) To Disk(硬盘到硬盘的复制) \n(2)To Image(硬盘内容备份为镜像) \n(3)From Image(从镜像文件恢复至硬盘) \n 2、Partition(分区) \n  (1)To Partition(分区到分区的复制) \n  (2)To Image(分区内容备份为镜像) \n  (3)From Image(从镜像文件恢复至分区) \n 3、Check(检查) \n(1) Image File(镜像文件) \n(2)Disk(磁盘) \n  (二)Option(设置项,一般情况下使用默认值即可) \n  (三)Quit(退\u003Cem\u003E出\u003C\u002Fem\u003E) \n\n\nNorton ghost――克隆硬盘的魅影 \n我们能用Ghost做什么 \n  ●可以创建硬盘镜像备份文件 \n  ●可以将备份恢复到原硬盘上 \n  ●磁盘备份可以在各种不同的存储系统间进行 \n  ●支持FAT16\u002F32、NTFS、OS\u002F2等多种分区的硬盘备份 \n  ●支持Win9X、NT、UNIX、Novell等系统下的硬盘备份 \n  ●可以将备份复制(克隆)到别的硬盘上 \n  ●在复制(克隆)过程中自动分区并格式化目的硬盘 \nGhost是最著名的硬盘复制备份工具,因为它可以将一个硬盘中的数据完全相同地复制到另一个硬盘中,因此大家就将Ghost这个软件称为硬盘“克隆”工具。实际上,Ghost不但有硬盘到硬盘的克隆功能,还附带有硬盘分区、硬盘备份、系统安装、网络安装、升级系统等功能。1998年6月,\u003Cem\u003E出\u003C\u002Fem\u003E品Ghost的Binary公司被著名的Symantec公司购并,因此该软件的后续版本就改称为Norton Ghost,成为Nordon系列工具软件中的一员。1999年2月,Symantec公司发布了Norton Ghost的5.1C版本,该版本包含了多个硬盘工具,并且在功能上作了较大的改进,使之成为了一个真正的商业软件。 \n安装 \n本公司为使各位客户的机器万无一失,早已经为您的机器中装入了GHOST软件,并在您取走机器前为您做好备份,免去您的后顾之忧。此软件不需安装,复制即可使用。 \nGhost硬盘克隆 \nGhost就是克隆硬盘的程序,该程序在DOS下、Windows9.X下都可执行,所以要进行硬盘的克隆,请先进入到Ghost子目录,运行Ghost.exe程序,需要注意的是,如果是在DOS下运行该程序时,在运行该程序前最好启动DOS的鼠标驱动程序,因为Ghost的操作画面是仿\u003Cem\u003E窗口\u003C\u002Fem\u003E画面,使用鼠标点击来选择会方便一些――虽然也可以用键盘来操作。另外在备份或克隆硬盘前最好清理一下硬盘――删除不用文件、清空回收站、碎片整理等。 \n1. 分区备份 \n使用Ghost复制备份,有整个硬盘(Disk)和分区硬盘(Partition)两种备份方式。在菜单中点击“Local”(本地)项,在右面弹\u003Cem\u003E出\u003C\u002Fem\u003E的菜单中有三个子项,其中“Disk”表示整个硬盘备份(也就是克隆),“Partition”表示单个分区硬盘备份以及硬盘检查“Check”。“Check”项的功能是检查硬盘或备份的文件,看是否可能因分区、硬盘被破坏等造成备份或还原失败。而分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区具有实用价值。 \n选“Local\u002FPartition\u002FTo Image”菜单,弹\u003Cem\u003E出\u003C\u002Fem\u003E硬盘选择\u003Cem\u003E窗口\u003C\u002Fem\u003E,开始分区备份操作。点击该\u003Cem\u003E窗口\u003C\u002Fem\u003E中白色的硬盘信息条,选择硬盘,进入\u003Cem\u003E窗口\u003C\u002Fem\u003E,选择要操作的分区(用鼠标点击)。 \n然后在弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 \n接下来,程序会询问是否压缩备份数据,并给\u003Cem\u003E出\u003C\u002Fem\u003E三个选择。“No”表示不压缩,“Fast”表示小比例压缩而备份执行速度较快,“High”就是高比例压缩但备份执行速度较慢。最后,选择“Yes”按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成备份,备份的文件以GHO后缀名储存在设定的目录中。 \n2. 分区备份的还原 \n如果硬盘中备份的分区数据受到损坏,用一般磁盘数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原,无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 \n要恢复备份的分区,就在界面中选择菜单“Local\u002FPartition\u002FFrom Image”,在弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择还原的备份文件,再选择还原的硬盘和分区,点击“Yes”按钮即可。 \n恢复还原时要注意的是,硬盘分区的备份还原是要将原来的分区一成不变地还原\u003Cem\u003E出\u003C\u002Fem\u003E来,包括分区的类型、数据的空间排列等。 \n3. 硬盘的克隆 \n硬盘的克隆就是对整个硬盘的备份和还原,选择菜单“Local\u002FDisk\u002FTo Disk”,在弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择源硬盘(第一个硬盘),然后选择要复制到的目的硬盘(第二个硬盘)。注意,可以设置目的硬盘各个分区的大小,Ghost可以自动对目的硬盘按设定的分区数值进行分区和格式化。选择“Yes”开始执行。 \nGhost能将目的硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目的硬盘不能太小,必须能将源硬盘的内容装下。 \n  Ghost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单“Local\u002FDisk\u002FTo Image”),然后就可以随时还原到其它硬盘或原硬盘上。这对要安装多个系统硬盘很方便。使用方法与分区备份相似。要注意的是,备份成的文件不能大于2GB。\n[table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[\u002Fcolor][\u002Falign][color=#6b6b6b]四。★★★如何防范恶意网站 \n知己知彼 \n  如何判断自己是遇到了恶意网站的攻击,症状多种多样: \n  1. 开机自动登录网站。 \n  2. 启动IE,自动登录网站,无法修复主页设置。 \n  3. IE不断\u003Cem\u003E打开\u003C\u002Fem\u003E\u003Cem\u003E窗口\u003C\u002Fem\u003E。 \n  4. 修改[主页]按钮和[搜索]按钮。 \n  5. 修改右键菜单,甚至屏蔽右键菜单。 \n  6. 更改收藏夹的内容。 \n  7. 安装自动拨号程序。 \n  8. 自动安装木马程序。 \n  9. 自动格式化硬盘或删除某个文件夹中的所有文件。 \n  10. 更新文件关联和锁死EXE程序。 \n  11. 锁死注册表。 \n…… \n  ★对症下药 \n  了解了症状,就要对症下药了! \n一、备份 \n  建议使用“超级兔子魔法设置”中的“注册表优化”进行备份,软件能将Classes.dat、System.dat、System.ini、User.dat、Win.ini等文件全部备份下来,上面提到的前五种恶意网站无非就是通过修改这些文件来达到其目的的。 \n二、弃用IE \n  大部分的攻击目标都是IE。如果我们用MyIE2(强烈建议使用Ver 0.8.220这一版本)代替IE浏览器,恶意网站就无的放矢了。MyIE2在启动时能够绕开主页直接\u003Cem\u003E打开\u003C\u002Fem\u003E空白页,而且还能保护主页不被修改。如果开机就自动运行IE,要先用超级兔子魔法设置中的“自动运行”功能将网址删除,再用MyIE2代替IE。 \n  注意:这两个功能在默认状态下是\u003Cem\u003E关闭\u003C\u002Fem\u003E的,您要在[选项]→[MyIE2选项]→[常规]中和“启动时”中将其\u003Cem\u003E打开\u003C\u002Fem\u003E。由于MyIE2使用IE的内核,所以请勿删除IE。 \n三、解救被封死的收藏夹 \n  某些恶意网站会对收藏夹进行修改,大多是通过修改“C: Windows\u002FFavorites”中的“Desktop.ini”文件来实现的,所以只要删除这个文件就可以了。如果根本就无法\u003Cem\u003E打开\u003C\u002Fem\u003E“C: WindowsFavorites”文件夹,就到DOS下进行删除(要先用“attrib -r -s -h”后才能将其删除)。另外,“收藏夹”中的内容并没有被删除,只是放入了另一个文件夹中,名称和“Favorites”差不多(如“Favorites2”等),如果想恢复原来的“收藏夹”,只要剪切一下就可以了。 \n  如果是将系统默认的“收藏夹”路径设置成指定的目录(如“C: WindowsFavorites2”等),只要恢复正常的“注册表”就一切OK了。 \n四、定期还原正常的注册表 \n  如果遇到安装自动拨号程序的情况,你可要小心啦,小心惊人的国际长话费。对付它,最好是定期还原正常的注册表!这样做虽然不能彻底删除此类恶意程序,但却能让其完全禁止运行,因为这类程序是通过修改注册表来达到随机运行的目的的(只有极少数是在“开始”菜单的“启动”项内做文章),只不过我们无法通过\u003Cem\u003E手工\u003C\u002Fem\u003E删除干净。 \n  这个方法对于自动安装木马程序的情况也同样适用。 \n五、防止硬盘被格式化 \n  对于自动格式化硬盘的恶意网站,要把“C:WindowsCOMMAND”文件夹中的format.com、Fdisk.exe、Deltree.exe这三个程序文件删除或进行改名,因为这些恶意代码是需要这些程序才能够发挥“威力”的,只要让这些恶意代码找不到它们,您的电脑也就安全了! \n六、\u003Cem\u003E打开\u003C\u002Fem\u003E“锁死”的程序 \n  对于被锁死的EXE程序,只要事先已将“C:Windows”目录下正常的Classes.dat、System.dat、User.dat、System.ini、Win.ini这五个文件备份下来,在“中招”后用正常的文件覆盖一下并重新启动就OK了(注:Windows 95和98中可能没有Classes.dat文件,而且Windows 97以下版本的操作系统用此方法无效!甚至会使整个系统瘫痪。)。如果连复制都被禁止了的话,您可用启动盘到DOS下进行覆盖复制。 \n七、“防”要胜于“治” \n  通常恶意网站都披着具有“诱惑力”的外衣,设下诱人的陷阱让您“中招”。所以一定要意志坚强,抵制住诱惑。只要您能做到“任你花言巧语,我自岿然不动”。那么,什么样的陷阱也奈何不了您。 \n  另外,现在有很多恶意网站开始通过即时通讯软件来传播了,比如QQ、ICQ等,方式虽然多种多样,但通常是在对方网友的话后面又发来了一个网站信息,有的会附有一些带有“诱惑性”的话(如:“看看我的样子”等),有的只是一个有着诱人域名的网址,对于这样的网站,原则也同样――就是不上当! \n[table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[\u002Fcolor][\u002Falign][color=#6b6b6b]五。★★★win2000\u002Fxp忘记密码的方法 \n1。清除sam文件: \nwinnt系列的系统账户信息是存在%systemroot%system32configsam这个注册表文件里的。如果系统里没有重要的账户,或者账户比较少,用删除%systemroot%system32configsam的方法是比较简单的,不过因为系统会还原为只有administrator(密码为空)和guest二个账户,所以有些程序因为它们所依赖的账户丢失了,如iis、vmware就不能启动了。 \n原来听说这种方法只能适用于nt workstation系列(2kpro),不能用于server,我在2000professional和2000 advanced server上试验都是成功的。不知道为什么会有上述说法,可能是活动目录ad下不行把。 \n当然首先你要能够访问系统分区,来把sam文件改名或者删除。如果是fat32、fat分区,使用98启动盘就行了。如果是ntfs分区,可以使用winternal的ntfs for dos、ntfs for 98或者是支持ntfs的启动光盘,再或者挂到其他win2000、linux等机器上,再再或者重新安装一个新的win2000。 \n2。专用工具: \nwindows管理员密码丢失还有一个解决方法是使用petter nordahl-hagen的the offline nt password editor([url=http:\u002F\u002Fhome.eunet.no\u002F~pnordahl\u002Fntpasswd\u002F][color=#0000ff]http:\u002F\u002Fhome.eunet.no\u002F~pnordahl\u002Fntpasswd\u002F[\u002Fcolor][\u002Furl]),这个工具是离线修改注册表文件sam来设置密码的。需要用他的映像文件制作启动盘来引导,进而访问ntfs分区重新设置密码;虽然作者经常更新他的程序,不过我还是会担心他直接操作sam文件的安全性,可能有时会导致系统\u003Cem\u003E出\u003C\u002Fem\u003E错。 \n可能还有其他类似工具把,恕我无知。 \n3。 还有一种想法就是用一个修改密码的小程序来替换系统启动的必要程序,然后系统启动时就会替换密码,随后把被替换的程序在还原就行了。当然首先你还是要能够访问系统分区,来替换随系统启动的程序。 \n替换系统启动的必要程序的一种方法是我写的一个清除administrator密码的小程序(cleanpwd),他所作的就是把administrator密码清空。使用方法如下: \n(2).用法 \n1) 用双系统或者启动盘或者挂到别的系统上,如果是ntfs分区其他系统或启动盘要能读写ntfs分区,把windows安装目录下的system32svchost.exe改名svchost.bak.exe备份,把cleanpwd.exe拷贝成svchost.exe。 \n2) 启动该系统,就把administrator的密码清空了,可以直接登陆。 \n3) 把svchost.bak.exe 恢复就行了。(如果使用替换的是svchost,最好再启动rpc服务) \n(3).为什么选用svchost.exe而不是其他程序。 \n每个windows2000系统都有这几个进程, \nsystem(kernel executive and kernel) \nsmss(session manager) \ncsrss(win32 subsystem) \nwinlogon(logon process) \nservices(service control manager) \nlsass(local security authentication server ) \n如果任何一个被杀掉或者\u003Cem\u003E出\u003C\u002Fem\u003E错,系统将重新启动。不过在lsass启动之前你不能修改密码,所以不能选用这几个程序。 \n另外系统中一般还有以下一些程序: \nsvchost.exe(remote procedure call (rpc) 还有其他一些服务) \nwbemwinmgmt.exe(windows management umentation) \nmstask.exe(task scheduler) \nregsvc.exe(remote registry service) \n可能还有其他服务程序,你可能禁止了除rpc之外的其他服务,但不会禁止rpc,否则系统工作就不正常了。所以我选择了svchost,如果你知道其他服务会自动启动,你也可以选择它。 \n当然如果系统安装了杀毒软件的话,你替换杀毒软件也可以,因为一般杀毒软件都会在系统启动是启动杀毒防火墙来杀毒的。 \n(4).其他 \n有这个想法是几个月之前了,不过一直没有写这个程序 程序运行会在c:cleanpwd.txt记一个简单的日志,我也附了源码,你可以任意修改它以满足自己的要求,比如添加一个用户而不是修改管理员的密码(或者你把管理员改名了)。 \n4。我还在一个网站上看到这样一个方法: \n就是把%systemroot%system32logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe里运行net user administrator \"\",成功后管理员密码也被清空了,\u003Cem\u003E关闭\u003C\u002Fem\u003Ecmd或者explorer就可以用空口令登陆了。 \n其实这种方法和上边的那种思路是一致的。 \n================= code begin ======================= \n#include \n#include \n#include \n#include \n#include \n#pragma comment(lib, \"netapi32.lib\") \n#define lof_file \"c:\\cleanpwd.txt\" \ndword setuserpwd(char *user, char *pass); \nvoid banner(file *fp) \n{ \nif(null == fp)return; \nfprintf(fp, \"clean administrator??s password tool 1a. for lost password.n\"); \nfprintf(fp, \" by [email=bingle@email.com.cnn][color=#0000ff]bingle@email.com.cnn[\u002Fcolor][\u002Femail]\"); \nfprintf(fp, \"website: [url=http:\u002F\u002Fwww.binglesite.net\u002Fn][color=#0000ff]www.binglesite.netn[\u002Fcolor][\u002Furl]\"); \n} \nint main(int argc, char *argv[]) \n{ \nbanner(stderr); \nfile *fp = fopen(lof_file, \"a\"); \nif(fp) \n{ \nfprintf(stderr, \"log in file %sn\", lof_file); \nbanner(fp); \n} \nif(!fp) fp = stderr; \nchar buff[256]; \nfprintf(fp, \"%s: clean administrator??s password \", _strtime(buff)); \ndword n = setuserpwd(\"administrator\", \"\"); \nif(nerr_success == n) fprintf(fp, \"ok.n\"); \nelse fprintf(fp, \"failed, error:%dn\", n); \nfclose(fp); \nreturn -1; \n} \ndword setuserpwd(char *user, char *pass) \n{ \nwchar_t wuser[pwlen], wpass[pwlen]; \nuser_info_1003 ui; \nmbstowcs(wuser, user, strlen(user)+1); \nmbstowcs(wpass, pass, strlen(pass)+1); \nui.usri1003_password = wpass; \nreturn netusersetinfo(null, wuser, 1003, (lpbyte)&ui, null); \n\n六。★★★Windows XP 自带小工具 \n假设你使用的是WinXP,一般来讲你会把日常所用的工具软件都放到一个名为“Tools”的文件夹中。好的,先容我猜猜,里面都有些什么东东――加密的、图片浏览处理的、压缩\u002F解压缩的、音视频播放的、刻录的、系统优化的……怎么样,猜得八九不离十吧?相信这些Tools平日里一定带来了不少方便,不过如果你仅满足于使用这些“Tools”的一般用途,那笔者就要为WinXP道一声“可惜”――它辛辛苦苦为你准备的百宝箱却被不经意地抛在了一旁。相比常用的工具软件,WinXP所提供工具的特点是整合在系统中,因此使用简单、快捷而方便,那么就随笔者一起掀开这个箱子,看看里面到底都有些什么宝贝吧。 \n一、文件保密 \nWinXP有着很好的多用户功能,允许不同用户拥有个性的系统设置。但在这样一个共享环境下,个人的隐私问题又凸现\u003Cem\u003E出\u003C\u002Fem\u003E来,由此涉及到了多用户使用下的文件保密问题。对于这个问题,你可能会考虑诸如“文件保密专家”之类的文件加密软件,其实在WinXP中,大可不必为文件的保密问题操心,因为它为我们提供了多种文件保密的方法。不过在为文件进行保密操作之前,首先要确定待保密的文件是放在NTFS分区上的,这是WinXP里进行文件保密的基础,以下的操作都是在NTFS分区上进行的。 \n1.个人文件夹的保密 \n在WinXP里最简单的文件保密方法是对“个人文件夹”的加密。所谓“个人文件夹”是指在“系统盘ocuments and Settings”下,以当前用户名命名的文件夹;其中包含了如“我的文档”、“开始菜单”一类的个人用户文件。对其进行加密,只需直接在其文件夹或其子文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E的“共享”页上,勾选“将这个文件夹设为专用”(若为管理员用户则此处默认为勾选),那么其他用户(包括管理员)都无法访问此文件夹。此方法只适合于对“个人文件夹”的保密,对于系统的其他文件和文件夹则无能为力了。需要注意的是,设为“专用”的个人文件夹将不能被共享,同样,已共享的个人文件夹在取消共享之前也不能被设为“专用”。实际应用中,可将要保密的文件保存到设为专用的“我的文档”里,即可实现文件保密的目的。 \n2.\u003Cem\u003E利用\u003C\u002Fem\u003E用户权限保密文件 \n对于没有放在“个人文件夹”中的文件,我们可以有第2种保密方法:控制用户权限――通过对不同用户或者组,赋予对文件(文件夹)不同的操作权限,从而达到文件保密的目的。此操作进行之前先要确定WinXP中文件权限的设置功能是否开启:在文件浏览\u003Cem\u003E窗口\u003C\u002Fem\u003E中选择菜单“工具”→“文件夹选项”,选择“查看”页,确定“使用简单文件共享”没有被勾选。 \n之后,我们就能对系统的文件(文件夹)访问权限进行具体设置:\u003Cem\u003E打开\u003C\u002Fem\u003E文件夹的属性\u003Cem\u003E对话框\u003C\u002Fem\u003E,可以看到多\u003Cem\u003E出\u003C\u002Fem\u003E了一个“安全”页。在其中可以一目了然对于此文件夹可操作的用户及其不同的权限分派。各类权限有“允许”和“拒绝”两项可选,先在“组或用户名称”一栏里选择要保密的对象(如Guest用户),再将其“读取”的权限设为“拒绝”,如此便实现了此文件夹的保密。如果“组或用户名称”里没对象用户,选择下面的“添加”,输入(或搜索\u003Cem\u003E出\u003C\u002Fem\u003E)其用户名即可。 \n有可能你看到的用户权限设置是不可选的,那是因为此子文件夹从其父文件夹(上级文件夹)继承了权限,因此不可改。要使其权限可改,应删除其和父文件夹的继承关系:选择“安全”页的“高级”选项,\u003Cem\u003E打开\u003C\u002Fem\u003E“高级安全设置”\u003Cem\u003E对话框\u003C\u002Fem\u003E,在“权限”页里取消对“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”的勾选,在弹\u003Cem\u003E出\u003C\u002Fem\u003E的\u003Cem\u003E对话框\u003C\u002Fem\u003E中选择“删除”即可。 \n3.加密文件系统(EFS)对文件的保密 \n这是WinXP我们提供的一种高级文件加密方法――加密文件系统(EFS)。EFS是一种数字加密方式:Windows首先以一把“公钥”(WinXP自己的加密算法)对文件进行加密,再配给用户一把用于解密的“私钥”(包含在个人数字证书中)。加密过的文件,只有通过“公钥”与“私钥”共同认证后产生的“金钥”才能被解密。 \n\u003Cem\u003E打开\u003C\u002Fem\u003E要加密的文件或文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E,选择其“常规”页中的“高级”,勾选“高级属性”里的“加密内容以便保护数据”,确定后,加密的文件\u002F文件夹名会以绿色表示,这样,即使是管理员账户,也不能读取文件的内容了。 \n这就是WinXP的高级文件保密,就这么简单。之后的问题是,如果加密文件拷贝到其他机器上,如何实现其解密?这就涉及到了个人数字证书的使用。 \n4.个人数字证书的导\u003Cem\u003E出\u003C\u002Fem\u003E与导入 \n在“运行”栏里输入“certmgr.msc”,\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路径后,即导\u003Cem\u003E出\u003C\u002Fem\u003E了个人数字证书。 \n加密文件被拷贝到其他机器上后,要对其进行解密,需要先在此机器上新建一个与原加密用户相同用户名及密码的账户,再将之前导\u003Cem\u003E出\u003C\u002Fem\u003E的证书拷贝到此机器上双击运行,即可实现数字证书的导入。 \n注意:WinXP为了防止私钥被随意导\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。 \n二、资源管理器的增强 \n1.图片浏览 \nWinXP之前这一功能非ACDSee莫属,然而WinXP却带来了更为易用的图片浏览功能。众所周知,只要选择“缩略图”方式显示图片,我们就可以图片的缩略图预览其效果。选择“幻灯片”方式,则可以更清楚地看到图片的预览效果。WinXP还为我们提供了第3种方式浏览图片:“幻灯片播放”,只需选择资源管理器左侧“图片任务”中的“作为幻灯片查看”,即可浏览图片,在屏幕的右上角依次有播放、暂停、上一幅、下一幅及\u003Cem\u003E关闭\u003C\u002Fem\u003E的功能按钮。需要提醒的是,如果选择了一张或者多张图片后再选择“作为幻灯片查看”,则只会放映所选择的图片。 \n还有一点技巧:如果嫌“缩略图”方式预览的图片太小,我们可以通过修改注册表的方式改变其大小。在“运行”栏里输入“regedit”,\u003Cem\u003E打开\u003C\u002Fem\u003E注册表编辑器,依次展开HKEY_CUR RENT_USER Software MicrosoftWindows CurrentVersion Explorer,在其下新建一名为ThumbnailSize的DWORD值,将值改为十进制的200,可以看到预览图变大了吧。另外,新建名为ThumbnailQuality的DWORD值,通过设置其值改变缩略图的图片质量,如设为80,则以80%的质量显示缩略图。通过减小其值,可以缩短系统显示缩略图的时间。 \n注意:如果当前目录下有图片却没有\u003Cem\u003E出\u003C\u002Fem\u003E现“图片任务”或找不到“幻灯片”方式,可参见后文设置文件夹模板。 \n2.数码图片的处理 \n使用数码相机等设备,WinXP也准备了“扫描仪与照相机向导”。当数码相机连接到计算机后,在系统弹\u003Cem\u003E出\u003C\u002Fem\u003E的任务选择\u003Cem\u003E对话框\u003C\u002Fem\u003E里选择“将图片复制到计算机上的一个文件夹”,WinXP会自动读取相机里的图片,接下来在“扫描仪和照相机向导”选择要获取的图片,还有存放的路径,完成后WinXP就会把所选择的照片存放到指定目录了。值得一提的是,在选择存放路径时,WinXP已默认提供了一系列有助于分类的存放方式,方便我们对数码图片的管理。 \n双击一个图片文件,如果没有安装其他图片浏览软件,WinXP会首先调用“Windows图片和传真查看器”来\u003Cem\u003E打开\u003C\u002Fem\u003E文件(若已安装其他图片软件,也可右击图片文件并在“\u003Cem\u003E打开\u003C\u002Fem\u003E方式”中选择此工具)。可用其对图片进行简单加工,如缩放查看、旋转、打印、复制到等。试过用“Windows图片和传真查看器”\u003Cem\u003E打开\u003C\u002Fem\u003ETIFF文件吗?可以看到工具栏上又多\u003Cem\u003E出\u003C\u002Fem\u003E不少东西,通过这些工具可以给图片添加“注释”。至于用处,想想看,可以在数码相片上写上照相的时间地点,场景描述等,多年后回味,别有一番滋味啊。这一注释功能并不直接修改图片,在你不需要时可随时删去所加的注释,而保留图片的原样。 \n3.个性的文件夹 \n如果你也崇尚个性张扬,相信总会想方设法把自己的WinXP弄得与众不同。这里就来看一下,如何用WinXP百宝箱里的东东,把系统里大大小小的文件夹们,统统换掉那黄色的夹子外套。WinXP提供了很方便的文件夹自定义功能,在文件夹“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E的“自定义”页上,即可看见很多定义的内容。 \n文件夹模板:可供选择的有相册、图片、音乐和视频等,其区别在于不同的模板对应不同的默认文件查看方式(幻灯片、平铺、图标等)以及文件夹任务。使用了以上两种图片类文件夹模板,文件夹左侧的“常见任务栏”里,都会有“图片任务”供选择,而使用了音乐类或视频类文件夹模板,则分别对应的是“音乐任务”与“视频任务”。 \n文件夹图片:当文件夹以缩略图方式查看时,WinXP会把该文件夹里最近修改的4个图片作为默认的文件夹图片显示,但为了提醒自己,可以让它变得更醒目。只需单击“选择图片”就可选择某个图片作为此文件夹的图片。 \n文件夹图标:如果不以缩略图方式查看,文件夹将会以其“标准图标”表示――一个黄色的夹子,如果觉得这千篇一律的黄夹子没有个性,我们也可以换。单击“更改图标”,可以看到WinXP为我们在Shell32.dll里提供的许多图标,我们当然可以随便用上一用。 \n三、压缩与解压缩 \n目前我们使用的压缩解压缩软件想必都是WinZip或WinRAR等,它们各有自己的特点与用途,但实际应用中可以说95%以上的工作都是简单的压缩与解压缩,在这一点上,WinXP自带的压缩工具就足以满足需要了。 \n1.通过压缩磁盘对文件进行压缩 \n这种方法被WinXP冠名为“NTFS文件压缩”,只能在硬盘的NTFS分区上使用。\u003Cem\u003E打开\u003C\u002Fem\u003E要压缩文件\u002F文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E,选择“常规”页中的“高级”,勾选“高级属性”里的“压缩内容以便节省磁盘空间”,确定后,此文件\u002F文件夹名会以蓝色显示。以这种方法压缩文件,实质上是对磁盘进行压缩,会带来了系统性能的降低(\u003Cem\u003E打开\u003C\u002Fem\u003E压缩文件时,系统将其解压缩,\u003Cem\u003E关闭\u003C\u002Fem\u003E文件时又重新压缩),因此建议仅用于对备份文件处理。 \n2.Zip文件的压缩 \n最先在Windows提供对Zip文件的支持始源于WinME,WinXP继承了这一特性,但基本上没有太多发展。这一功能被称为“Compressed(zipped) Folders”,只能进行最基本的压缩\u002F解压缩工作,说好听点,就是“返璞归真”了。 \n实现方法一:在鼠标右键菜单上选择“新建”→“压缩(zipped)文件夹”。 \n实现方法二:选中欲压缩的文件(一个或多个),在其鼠标右键菜单上选择“发送到”→“压缩(zipped)文件夹”,即生成一个.zip文件。最后生成的文件名同鼠标单击的文件一致。 \n你还可以对.zip文件设置密码。\u003Cem\u003E打开\u003C\u002Fem\u003E一个.zip文件(确定是用WinXP自带功能\u003Cem\u003E打开\u003C\u002Fem\u003E,而不是用其他软件),选择菜单项的“文件”→“添加密码”,输入要设置的密码。之后,查看和解压缩此文件就需要密码了,可以满足一般的保密性要求。需要说明的是WinXP不能进行分卷压缩、添加注释等“高级任务”。 \n3.Zip文件的解压缩 \n压缩后的ZIP包可以像普通文件夹一样操作。如果要将ZIP包解压缩到指定位置,只需在其右键菜单上选择“全部提取...”\u003Cem\u003E利用\u003C\u002Fem\u003E“提取向导”,选择解压缩路径,输入密码(如果有的话),即可进行解压缩。 \n4.自解压包的制作 \n如果还有制作自解压包的需要,也不用去找什么专门工具,WinXP里仍然为你准备了――尽管微软并没有承认其存在。在“运行”\u003Cem\u003E对话框\u003C\u002Fem\u003E里输入“iexpress”,回车后\u003Cem\u003E打开\u003C\u002Fem\u003E“IExpress Wizard”。在向导里依次选择“Create new Self Extraction Directive file”→“Extract files only”(压缩目的:Package purpose)→输入解压缩时弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的标题(Package title)→输入\u003Cem\u003E对话框\u003C\u002Fem\u003E\u003Cem\u003E提示\u003C\u002Fem\u003E语(Confirmation prompt)→选择解压时是否显示许可协议(License agreement)→添加欲压缩的文件(Packaged files)→选择解压","createTime":"2010-04-25 22:43:49","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2284257-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101639","title":"精通JS脚本之ExtJS框架.part2.rar","desc":"《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了\u003Cem\u003EJavaScript\u003C\u002Fem\u003E的对象编程、\u003Cem\u003EJavaScript\u003C\u002Fem\u003E浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、对Ajax的支持以及如何调试等。最后\u003Cem\u003E利用\u003C\u002Fem\u003E一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。\n  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以通过访问itzcn网站来获得即时在线帮助。\n  《精通JS脚本之ExtJS框架》可以作为Web开发的自学参考书,也可以作为RIA Web程序开发的培训教材。\n第1章 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E入门必备 \n1.1 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E语言概述 \n1.1.1 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E简介 \n1.1.2 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E特点 \n1.1.3 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E与Java \n1.2 第一个\u003Cem\u003EJavaScript\u003C\u002Fem\u003E程序 \n1.2.1 嵌入\u003Cem\u003EJavaScript\u003C\u002Fem\u003E \n1.2.2 链接外部\u003Cem\u003EJavaScript\u003C\u002Fem\u003E文件 \n1.2.3 注意事项 \n1.3 基础语法 \n1.3.1 数据类型 \n1.3.2 变量与常量 \n1.3.3 运算符 \n1.4 流程控制语句 \n1.4.1 if条件语句 \n1.4.2 switch条件语句 \n1.4.3 while循环语句 \n1.4.4 do while循环语句 \n1.4.5 for循环语句 \n1.4.6 for in循环语句 \n1.4.7 try catch finally语句 \n1.4.8 其他语句 \n第2章 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E浏览器对象模型与事件处理 \n2.1 浏览器对象模型 \n2.1.1 文档对象 \n2.1.2 表单及其元素对象 \n2.1.3 浏览器信息对象 \n2.1.4 \u003Cem\u003E窗口\u003C\u002Fem\u003E对象 \n2.1.5 网址对象 \n2.1.6 历史记录对象 \n2.2 基本事件处理 \n2.3 2级DOM事件模型 \n2.3.1 事件传播 \n2.3.2 注册事件处理程序 \n2.3.3 event对象 \n2.4 常用事件 \n2.4.1 键盘事件 \n2.4.2 鼠标事件 \n2.4.3 页面事件 \n第3章 开始使用ExtJS \n3.1 ExtJS概述 \n3.1.1 ExtJS简介 \n3.1.2 ExtJS中的基本概念 \n3.1.3 ExtJS与常见\u003Cem\u003EJavaScript\u003C\u002Fem\u003E库的介绍与对比 \n3.2 创建第一个程序 \n3.2.1 下载ExtJS \n3.2.2 部署到开发工具中 \n3.2.3 编写HelloWorld.html \n3.2.4 运行调试ExtJS \n3.3 辅助开发 \n3.3.1 调试工具Firebug \n3.3.2 开发利器Spket \n第4章 ExtJS事件机制 \n4.1 设计模式——观察者模式 \n4.2 自定义事件 \n4.3 浏览器事件 \n4.4 ExtJS中的事件 \n4.4.1 Function.call()\u002Fapply()方法 \n4.4.2 函数的作用域 \n4.4.3 Ext.lib.Event事件 \n4.4.4 Ext.util.Observable事件 \n4.4.5 Ext.EventManager事件 \n4.4.6 Ext.EventObject事件 \n4.5 各种事件登记方式 \n4.5.1 传统式登记 \n4.5.2 内联式登记 \n4.5.3 Dom Level2登记 \n4.6 高级组件事件 \n4.7 ExtJS键盘事件 \n第5章 ExtJS组件 \n5.1 核心组件 \n5.1.1 ExtJS组件结构 \n5.1.2 Ext.Component \n5.1.3 Ext.BoxComponent \n5.1.4 Ext.Container \n5.1.5 Ext.Panel \n5.1.6 Ext.TabPanel \n5.2 信息\u003Cem\u003E提示\u003C\u002Fem\u003E框组件 \n5.2.1 Ext.MessageBox简介 \n5.2.2 Ext.MessageBox.alert() \n5.2.3 Ext.MessageBox.confirm() \n5.2.4 Ext.MessageBox.prompt() \n5.2.5 Ext.MessageBox.wait() \n5.2.6 Ext.MessageBox.show() \n5.2.7 Ext.MessageBox的其他功能 \n5.3 进度条组件 \n5.3.1 Ext.ProgressBar简介 \n5.3.2 \u003Cem\u003E手工\u003C\u002Fem\u003E模式的进度条 \n5.3.3 自动模式的进度条 \n5.3.4 自定义样式的进度条 \n5.4 工具栏和菜单栏 \n5.4.1 Ext.Toolbar简介 \n5.4.2 只包含按钮的简单工具栏 \n5.4.3 包含多种元素的复杂工具栏 \n5.4.4 Ext.menu.Menu简介 \n5.4.5 最简单的菜单栏 \n5.4.6 创建三级或多级菜单 \n5.4.7 具有选择框的菜单 \n第6章 页面元素与模板 \n6.1 构成用户界面的元素 \n6.2 获取页面元素 \n6.3 元素常见的使用方法 \n6.3.1 常见的“显示\u002F隐藏”方法 \n6.3.2 常见的“内容控制”方法 \n6.3.3 常见的“操控DOM”方法 \n6.3.4 常见的“尺寸大小\u002F定位”方法 \n6.3.5 常见的“特效动画”方法 \n6.3.6 DomHelper简介 \n6.4 DomQuery入门 \n6.4.1 元素选择符Selector \n6.4.2 属性选择符Attributes Selectors \n6.4.3 CSS值元素选择符 \n6.4.4 Ext.query与Ext.select \n6.5 应用模板 \n6.5.1 Ext.Template \n6.5.2 Ext.XTemplate \n第7章 设计表单类布局 \n7.1 Form表单简介 \n7.1.1 Form表单的基本配置 \n7.1.2 ExtJS对Form表单的封装 \n7.2 ExtJS的表单组件 \n7.2.1 文本输入控件Ext.form.TextField \n7.2.2 多行文本输入控件Ext.form.TextArea \n7.2.3 单选框 \n7.2.4 复选框 \n7.2.5 下拉列表框 \n7.2.6 日期输入控件Ext.form.DateField \n7.2.7 在线编辑器Ext.form.HtmlEditor \n7.3 ExtJS表单组件的综合应用 \n第8章 设计表格类布局 \n8.1 表格简介 \n8.1.1 表格的基本属性 \n8.1.2 制作第一个表格 \n8.2 表格常用功能详解 \n8.2.1 主要属性功能 \n8.2.2 自定义列宽度 \n8.2.3 执行按列排序 \n8.2.4 解决中文排序 \n8.2.5 格式化显示日期类型数据 \n8.3 美化表格 \n8.4 设置表格背景颜色 \n8.5 显示行号和复选框 \n8.5.1 显示行号 \n8.5.2 引用复选框 \n第9章 表格的高级功能 \n9.1 表格视图——Ext.grid.GridView \n9.2 表格分页 \n9.2.1 添加表格分页显示工具条 \n9.2.2 从后台脚本获得分页数据 \n9.2.3 在表格顶部显示分页工具条 \n9.2.4 实现前台分页效果 \n9.3 可编辑表格控件——EditorGrid \n9.3.1 制作第一个EditorGrid \n9.3.2 添加一行数据 \n9.3.3 保存修改结果 \n9.3.4 验证EditGrid中的数据 \n9.3.5 限制输入数据的类型 \n9.4 PropertyGrid属性表格控件 \n9.4.1 PropertyGrid简介 \n9.4.2 只读的PropertyGrid \n9.4.3 对name列强制排序并获得value \n9.4.4 自定义编辑器 \n9.5 分组表格控件——Group \n9.5.1 分组表格简介 \n9.5.2 Ext.grid.GroupingView的配置操作 \n9.6 可拖放的表格 \n9.6.1 拖放改变表格的大小 \n9.6.2 在同一个表格里拖放 \n9.6.3 表格之间的拖放 \n9.6.4 表格与树之间的拖放 \n第10章 设计树状结构布局 \n10.1 TreePanel的基本使用 \n10.1.1 创建一棵树 \n10.1.2 为树生枝展叶 \n10.1.3 树形的配置 \n10.1.4 使用TreeLoader获得数据 \n10.1.5 读取本地JSON数据 \n10.2 树的事件 \n10.3 右键菜单 \n10.4 修改节点的默认图标 \n10.5 从节点弹\u003Cem\u003E出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E \n10.6 节点\u003Cem\u003E提示\u003C\u002Fem\u003E信息 \n10.7 为节点设置超链接 \n10.8 树形的拖放 \n10.8.1 节点拖放的3种形式 \n10.8.2 叶子不能append \n10.8.3 判断拖放的目标 \n10.8.4 树之间的拖放 \n10.9 树形过滤器TreeFilter \n10.10 \u003Cem\u003E利用\u003C\u002Fem\u003ETreeSorter对树进行排序 \n10.11 树形节点视图——Ext.tree.TreeNodeUI \n10.12 表格与树形的结合——Ext.ux.tree.ColumnTree \n第11章 其他布局类简介 \n11.1 标准布局类 \n11.1.1 折叠布局——AccordionLayout \n11.1.2 边框布局——BorderLayout \n11.1.3 卡片式布局——CardLayout \n11.1.4 列布局——ColoumnLayout \n11.1.5 锚点布局——AnchorLayout \n11.1.6 自适应布局——FitLayout \n11.1.7 ContainerLayout \n11.2 与布局有关的其他知识 \n11.2.1 父类Ext.Container公共配置与xtype的概念 \n11.2.2 使用Viewport \n11.2.3 实现表单元素横排 \n第12章 ExtJS对Ajax的支持 \n12.1 Ext.Ajax介绍 \n12.1.1 Ext.Ajax.request方法详解 \n12.1.2 Ext.Ajax.request操作示例 \n12.1.3 Ext.Ajax.request提交XML数据 \n12.2 Ext.Updater基础 \n12.2.1 Ext.Updater.update方法 \n12.2.2 Ext.Updater.update操作示例 \n12.3 \u003Cem\u003E利用\u003C\u002Fem\u003EAjax优化Web应用框架 \n12.3.1 多级联动菜单 \n12.3.2 Ajax修改用户密码 \n12.3.3 自动保存的网络记事本 \n12.3.4 网页计算器 \n第13章 设计数据驱动模式 \n13.1 XML\u002FJSON数据格式比较 \n13.2 容器类MixedCollection \n13.3 数据存储基本单元Record与dataField \n13.3.1 dataField \n13.3.2 Record \n13.4 数据存储store \n13.4.1 数据载入 \n13.4.2 对数据进行排序 \n13.4.3 从store 中获取数据 \n13.4.4 更新store 中的数据 \n13.4.5 加载及显示数据 \n13.5 数据代理 \n13.5.1 Ext.data.DataProxy \n13.5.2 Ext.data.MemoryProxy \n13.5.3 Ext.data.HttpProxy \n13.5.4 Ext.data.ScriptTagProxy \n13.6 数据读取器 \n13.6.1 Ext.data.DataReader \n13.6.2 Ext.data.ArrayReader \n13.6.3 Ext.data.JsonReader \n13.6.4 Ext.data.XmlReader \n13.7 Ext.ux.DWR \n13.7.1 Ext.data.DwrProxy \n13.7.2 Ext.data.DWRTreeLoader \n13.7.4 Web服务端配置 \n13.7.5 服务层接口 \n第14章 ExtJS扩展 \n14.1 \u003Cem\u003E利用\u003C\u002Fem\u003EExt.extend实现继承 \n14.2 与ExtJS扩展相关的预备知识 \n14.2.1 定义命名空间 \n14.2.2 使用xtype \n14.3 用户扩展和插件 \n14.3.1 编写自定义用户扩展 \n14.3.2 常用插件UploadDialog \n14.3.3 常用插件ManagedIFrame \n14.4 使用ExtJS制作Flash统计报表 \n14.4.1 柱状图 \n14.4.2 折线图 \n14.4.3 饼状图 \n14.4.4 柱状栈图 \n第15章 调试\u003Cem\u003EJavaScript\u003C\u002Fem\u003E与HTML \n15.1 Firebug的基本使用 \n15.1.1 开启或\u003Cem\u003E关闭\u003C\u002Fem\u003EFirebug \n15.1.2 控制台 \n15.2 Firebug的应用 \n15.2.1 源代码调试 \n15.2.2 CSS调试 \n15.2.3 脚本调试 \n15.3 跟踪网络传输状态 \n15.4 在脚本文件中加入调试命令 \n15.5 在IE中使用Firebug \n15.5.1 前端调试利器DebugBar \n15.5.2 IE下的优秀\u003Cem\u003EJavaScript\u003C\u002Fem\u003E调试工具Companion.JS \n15.5.3 DebugBar和Companion.JS的基本操作 \n15.6 调试技巧 \n15.6.1 在Firebug中直接调试脚本 \n15.6.2 调试代码运行速度 \n15.6.3 查看对象属性 \n第16章 ExtJS案例:商品信息管理系统 \n16.1 商品信息管理系统功能介绍 \n16.2 数据库设计和实现 \n16.2.1 数据库概念结构设计 \n16.2.2 数据库表设计 \n16.3 为项目做好准备 \n16.4 登录界面 \n16.5 栏目加载 \n16.6 为项目换肤 \n16.7 商品信息管理 \n16.7.1 商品信息的查询 \n16.7.2 商品信息的添加 \n16.7.3 商品信息的删除 \n16.7.4 商品信息的更新 \n第17章 ExtJS案例:企业任务管理系统 \n17.1 系统概述 \n17.2 需求分析 \n17.3 数据库设计 \n17.4 员工任务管理 \n17.4.1 个人任务处理 \n17.4.2 个人资料编辑 \n17.5 主管任务管理 \n17.5.1 部门计划处理 \n17.5.2 部门人员管理 \n17.6 系统管理员权限分配","createTime":"2013-03-02 13:31:19","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101639\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101639\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5101639-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101636","title":"精通JS脚本之ExtJS框架.part1.rar","desc":"《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了\u003Cem\u003EJavaScript\u003C\u002Fem\u003E的对象编程、\u003Cem\u003EJavaScript\u003C\u002Fem\u003E浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、对Ajax的支持以及如何调试等。最后\u003Cem\u003E利用\u003C\u002Fem\u003E一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。\n  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以通过访问itzcn网站来获得即时在线帮助。\n  《精通JS脚本之ExtJS框架》可以作为Web开发的自学参考书,也可以作为RIA Web程序开发的培训教材。\n第1章 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E入门必备 \n1.1 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E语言概述 \n1.1.1 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E简介 \n1.1.2 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E特点 \n1.1.3 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E与Java \n1.2 第一个\u003Cem\u003EJavaScript\u003C\u002Fem\u003E程序 \n1.2.1 嵌入\u003Cem\u003EJavaScript\u003C\u002Fem\u003E \n1.2.2 链接外部\u003Cem\u003EJavaScript\u003C\u002Fem\u003E文件 \n1.2.3 注意事项 \n1.3 基础语法 \n1.3.1 数据类型 \n1.3.2 变量与常量 \n1.3.3 运算符 \n1.4 流程控制语句 \n1.4.1 if条件语句 \n1.4.2 switch条件语句 \n1.4.3 while循环语句 \n1.4.4 do while循环语句 \n1.4.5 for循环语句 \n1.4.6 for in循环语句 \n1.4.7 try catch finally语句 \n1.4.8 其他语句 \n第2章 \u003Cem\u003EJavaScript\u003C\u002Fem\u003E浏览器对象模型与事件处理 \n2.1 浏览器对象模型 \n2.1.1 文档对象 \n2.1.2 表单及其元素对象 \n2.1.3 浏览器信息对象 \n2.1.4 \u003Cem\u003E窗口\u003C\u002Fem\u003E对象 \n2.1.5 网址对象 \n2.1.6 历史记录对象 \n2.2 基本事件处理 \n2.3 2级DOM事件模型 \n2.3.1 事件传播 \n2.3.2 注册事件处理程序 \n2.3.3 event对象 \n2.4 常用事件 \n2.4.1 键盘事件 \n2.4.2 鼠标事件 \n2.4.3 页面事件 \n第3章 开始使用ExtJS \n3.1 ExtJS概述 \n3.1.1 ExtJS简介 \n3.1.2 ExtJS中的基本概念 \n3.1.3 ExtJS与常见\u003Cem\u003EJavaScript\u003C\u002Fem\u003E库的介绍与对比 \n3.2 创建第一个程序 \n3.2.1 下载ExtJS \n3.2.2 部署到开发工具中 \n3.2.3 编写HelloWorld.html \n3.2.4 运行调试ExtJS \n3.3 辅助开发 \n3.3.1 调试工具Firebug \n3.3.2 开发利器Spket \n第4章 ExtJS事件机制 \n4.1 设计模式——观察者模式 \n4.2 自定义事件 \n4.3 浏览器事件 \n4.4 ExtJS中的事件 \n4.4.1 Function.call()\u002Fapply()方法 \n4.4.2 函数的作用域 \n4.4.3 Ext.lib.Event事件 \n4.4.4 Ext.util.Observable事件 \n4.4.5 Ext.EventManager事件 \n4.4.6 Ext.EventObject事件 \n4.5 各种事件登记方式 \n4.5.1 传统式登记 \n4.5.2 内联式登记 \n4.5.3 Dom Level2登记 \n4.6 高级组件事件 \n4.7 ExtJS键盘事件 \n第5章 ExtJS组件 \n5.1 核心组件 \n5.1.1 ExtJS组件结构 \n5.1.2 Ext.Component \n5.1.3 Ext.BoxComponent \n5.1.4 Ext.Container \n5.1.5 Ext.Panel \n5.1.6 Ext.TabPanel \n5.2 信息\u003Cem\u003E提示\u003C\u002Fem\u003E框组件 \n5.2.1 Ext.MessageBox简介 \n5.2.2 Ext.MessageBox.alert() \n5.2.3 Ext.MessageBox.confirm() \n5.2.4 Ext.MessageBox.prompt() \n5.2.5 Ext.MessageBox.wait() \n5.2.6 Ext.MessageBox.show() \n5.2.7 Ext.MessageBox的其他功能 \n5.3 进度条组件 \n5.3.1 Ext.ProgressBar简介 \n5.3.2 \u003Cem\u003E手工\u003C\u002Fem\u003E模式的进度条 \n5.3.3 自动模式的进度条 \n5.3.4 自定义样式的进度条 \n5.4 工具栏和菜单栏 \n5.4.1 Ext.Toolbar简介 \n5.4.2 ","createTime":"2013-03-02 13:29:42","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101636\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqiang654001342\u002F5101636\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-5101636-bbs-20139268.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1773226103564_95438\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"}],"staffDOList":[{"id":null,"communityId":209,"username":"community_91","userNickname":"JavaScript","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:07:03","updateTime":"2021-05-12 18:07:03","lastLoginTime":"2021-05-12 18:07:03"},{"id":null,"communityId":209,"username":"sysdzw","userNickname":"无·法","roleCode":2,"status":1,"createUsername":"community_91","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1","createTime":"2021-06-16 17:59:42","updateTime":"2021-06-16 17:59:42","lastLoginTime":"2021-06-16 17:59:42"}],"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\u002F20139268","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F20139268","typeId":"index","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":["20139268"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F20139268","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F20139268","active":0,"navBarFixed":false,"title":"如何利用javascript关闭手工打开的ie窗口而不弹出提示对话框?","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":209,"topicId":20139268},"keywords":"","description":"以下内容是CSDN社区关于如何利用javascript关闭手工打开的ie窗口而不弹出提示对话框?相关内容,如果想了解更多关于JavaScript社区其他内容,请访问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>