社区
VB基础类
帖子详情
怎样使图片变灰,如:toolbar中的按钮Enabled为False时图片效果?
Jockey
2000-08-23 11:49:00
...全文
86
1
打赏
收藏
怎样使图片变灰,如:toolbar中的按钮Enabled为False时图片效果?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
subzero
2000-08-24
打赏
举报
回复
再加一个imagelist专门放灰度图片不就得了
VB程序设计综合复习题
VB程序设计综合复习题 1、叙述Visual Basic的特点。 2、当窗体上有三个文本框和一个命令
按钮
,若程序运行
时
,焦点定位在第三个文本框(Text3)处,应对何控件的什么属性进行何种设置? 3、若要对窗体上的三个文本框输入数据,个控件焦点的移动可通过Tab键(系统本身具有的),也可通过回车键,则要对文本框的什么事件编程? 4、当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到文本框重新输入? 5、怎样把关于Command命令
按钮
的
Enab
led
属性的帮助示例代码复制到你的代码窗口?已知帮助
中
的代码如下: Private Sub Form_Load() Text1.Text = ”” ‘消除文本框的内容 Command1.Caption = “Save” ‘在
按钮
上放置标题 End Sub Private Sub Text1_Change() If Text1.Text = “” Then ‘查看文本框是否为空 Command1.
Enab
led
=
False
‘使
按钮
无效 Else Command1.
Enab
led
= True ‘使
按钮
有效 End If End Sub 6、当运行程序前,对某些控件设置属性值,除了在窗体
中
直接设置外,还可以通过代码设置,这些代码一般放在什么事件
中
?例如,程序要将命令
按钮
定位在窗体的
中
央,请写出事件过程。 7、在KeyPress事件
中
,如何取消用户刚键入的字符? 8、静态数组与动态数组的区别是什么?在声明静态数组、重定义动态数组
时
的下标都可以用变量来表示吗? 9、函数过程和子过程的区别是什么? 10、子过程调用有哪两种形式? 11、什么是形参?什么是实参?什么是值引用?什么地址引用?地址引用
时
,对应的实参有没有限制? 12、如果要
时
钟控件每半分钟发生一个Timer事件,则Interval属性应设置为多少? 13、如果在KeyDown事件过程
中
将KeyCode设置为0,KeyPress的KeyAscii参数会不会受影响?如果输入的对象是文本框,那文本框的内容是否有影响? 14、构造满足下列条件的Open语句。 (1)建立一个新的顺序文件SEQNEW.DAT,供用户写入数据,指定文件号为1。 (2)打开一个老的顺序文件SEQOLD.DAT,用户将从该文件读出数据,指定文件号为2。 (3)打开一个老的顺序文件SEQAPPEND.DAT,用户将在该文件后面添加数据,文件号通过调用FreeFile函数获得。 15、请写出程序代码片段,将磁盘上的两个文件合并。(提示:把它们作为二进制文件打开) 16、PictureBox控件和Image控件有什么区别? 17、Visual Basic可处理哪些格式的图形文件? 18、在程序运行
时
怎样在图形(像)框
中
装入或删除图形? 19、简述Printer对象与Printers集合对象的区别。 20、当要在
ToolBar
控件
中
添加一个
按钮
,如何实现? 21、当要修改
ToolBar
控件某
按钮
的图像,如何实现? 22、Visual Basic
中
记录集有几种类型?有
ExtAspNet_v2.3.2_dll
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的
Enab
leLightBackgroundColor属性,同
时
Enab
leBackgroundColor只支持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增加
Enab
leTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="
false
")(feedback:zqmars)。 -Window控件更新。 -关闭
按钮
默认直接关闭,不会弹出确认对话框。 -GetConfirmFormModifiedHideReference的函数
中
的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性
Enab
leConfirmOnClose(默认
false
),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正
Enab
leMaximize属性不能使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增加
Enab
leEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其
中
的Close全部改为Hide。 -增加TabStrip
中
Tab控件可关闭属性
Enab
leClose(默认为
false
)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument
中
Icon属性映射错误(feedback:nopnop9)。 -修正Htm
lEd
itor不能编辑的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,
Enab
leSplitTip, 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->
Enab
lePostBack)。 -为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
中
使用的名称). +所有的面板默认有两个集合属性(
Toolbar
s和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此
时
Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(
Toolbar
s)和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的属性
Enab
led
="
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的属性
Enab
leAjax为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。 -修正
Toolbar
Text的文本在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.SimplePaging
Toolbar
。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点
时
JS错误[feedback:xlli]。[fixed] -Window
中
的
Enab
leIFrame==
false
,则点击关闭
按钮
时
报JS错误。[fixed] -页面包含FileUpload控件,需要点击
按钮
回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -Htm
lEd
itor显示隐藏工具栏
按钮
不起作用,Htm
lEd
itor目前不支持
Enab
led
和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控件的
Enab
lePostBack属性会在回发
时
保持(也即是说如果
Enab
lePostBack=true,回发
时
没改变
Enab
lePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个
效果
,如果Tab1默认显示,Tab1的
Enab
lePostBack=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] -去除
Enab
leFirstItem/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启用
Enab
leSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)
中
设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加
Enab
leSimulateTree属性(默认为
false
),如果设置了DataSimulateTreeLevelField,则自动将
Enab
leSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +
Enab
leLargeHeader属性对所有容器的
效果
一样,Accordion的属性
Enab
leLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除
Enab
leHightlight属性,AccordionPanel增加
Enab
leHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加
Enab
leLargeHeader和
Enab
leHightlight属性。 -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属性,增加
Enab
leTitleBackgroundColor(默认为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/Htm
lEd
itor/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。 -
Toolbar
Text/
Toolbar
Fill/
Toolbar
Separator在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] -
Toolbar
Separator/
Toolbar
Fill在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/Data
Enab
leSelectField等属性的值,否则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,则在页面上方会有空白(可以通过设置
Enab
leD
eferredRender=
false
解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除
Enab
leBackgroundColor/
Enab
leLightBackgroundColor属性,背景色是透明的,也就是和父控件(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可更新属性
Enab
le/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发
时
隐藏显示了一些,也能正确的Ajax)。 -
Toolbar
Text增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加
Enab
leD
eferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同
时
在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发
时
支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的
Enab
leAjax属性。 -整理支持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回发的属性-
Enab
leAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个
按钮
弹出窗口,可以在Button的OnClick事件
中
设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性
Enab
lePageLoading和
Enab
leAjaxLoading(启用页面第一次加载标示和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增加两个属性(
Enab
leInlineStyleJavascript/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的
Enab
leD
elayRender默认为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增加
Enab
leFadeOut属性(默认
false
),可以启用淡出
效果
。[fixed] -Accordion选
中
样式微调。[fixed] -预加载Form表单出错
时
提示信息的背景
图片
。[fixed] +Grid增加
Enab
leD
elayRender属性(默认
false
),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"
Enab
leD
elayRender=
false
"。 -改变Grid
中
静态的CheckBoxField
图片
。[fixed] -TabStrip增加TabIndexChanged事件,同
时
Tab增加
Enab
lePostBack,可以在点击一个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] +表单字段
Enab
le=
false
时
显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disab
led
,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页
按钮
可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果
Enab
leTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同
时
更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 Data
Enab
leSelectField 属性,不可选择的项
变灰
,并且鼠标经过
时
没有样式。 -LinkButton和Grid的LinkButtonField增加
Enab
le属性(示例在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 (2009-4-1) 值得一看
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的
Enab
leLightBackgroundColor属性,同
时
Enab
leBackgroundColor只支持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增加
Enab
leTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="
false
")(feedback:zqmars)。 -Window控件更新。 -关闭
按钮
默认直接关闭,不会弹出确认对话框。 -GetConfirmFormModifiedHideReference的函数
中
的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性
Enab
leConfirmOnClose(默认
false
),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正
Enab
leMaximize属性不能使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增加
Enab
leEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其
中
的Close全部改为Hide。 -增加TabStrip
中
Tab控件可关闭属性
Enab
leClose(默认为
false
)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument
中
Icon属性映射错误(feedback:nopnop9)。 -修正Htm
lEd
itor不能编辑的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,
Enab
leSplitTip, 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->
Enab
lePostBack)。 -为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
中
使用的名称). +所有的面板默认有两个集合属性(
Toolbar
s和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此
时
Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(
Toolbar
s)和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的属性
Enab
led
="
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的属性
Enab
leAjax为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。 -修正
Toolbar
Text的文本在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.SimplePaging
Toolbar
。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点
时
JS错误[feedback:xlli]。[fixed] -Window
中
的
Enab
leIFrame==
false
,则点击关闭
按钮
时
报JS错误。[fixed] -页面包含FileUpload控件,需要点击
按钮
回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -Htm
lEd
itor显示隐藏工具栏
按钮
不起作用,Htm
lEd
itor目前不支持
Enab
led
和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控件的
Enab
lePostBack属性会在回发
时
保持(也即是说如果
Enab
lePostBack=true,回发
时
没改变
Enab
lePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个
效果
,如果Tab1默认显示,Tab1的
Enab
lePostBack=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] -去除
Enab
leFirstItem/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启用
Enab
leSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)
中
设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加
Enab
leSimulateTree属性(默认为
false
),如果设置了DataSimulateTreeLevelField,则自动将
Enab
leSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +
Enab
leLargeHeader属性对所有容器的
效果
一样,Accordion的属性
Enab
leLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除
Enab
leHightlight属性,AccordionPanel增加
Enab
leHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加
Enab
leLargeHeader和
Enab
leHightlight属性。 -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属性,增加
Enab
leTitleBackgroundColor(默认为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/Htm
lEd
itor/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。 -
Toolbar
Text/
Toolbar
Fill/
Toolbar
Separator在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] -
Toolbar
Separator/
Toolbar
Fill在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/Data
Enab
leSelectField等属性的值,否则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,则在页面上方会有空白(可以通过设置
Enab
leD
eferredRender=
false
解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除
Enab
leBackgroundColor/
Enab
leLightBackgroundColor属性,背景色是透明的,也就是和父控件(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可更新属性
Enab
le/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发
时
隐藏显示了一些,也能正确的Ajax)。 -
Toolbar
Text增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加
Enab
leD
eferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同
时
在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发
时
支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的
Enab
leAjax属性。 -整理支持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回发的属性-
Enab
leAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个
按钮
弹出窗口,可以在Button的OnClick事件
中
设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性
Enab
lePageLoading和
Enab
leAjaxLoading(启用页面第一次加载标示和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增加两个属性(
Enab
leInlineStyleJavascript/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的
Enab
leD
elayRender默认为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增加
Enab
leFadeOut属性(默认
false
),可以启用淡出
效果
。[fixed] -Accordion选
中
样式微调。[fixed] -预加载Form表单出错
时
提示信息的背景
图片
。[fixed] +Grid增加
Enab
leD
elayRender属性(默认
false
),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"
Enab
leD
elayRender=
false
"。 -改变Grid
中
静态的CheckBoxField
图片
。[fixed] -TabStrip增加TabIndexChanged事件,同
时
Tab增加
Enab
lePostBack,可以在点击一个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] +表单字段
Enab
le=
false
时
显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disab
led
,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页
按钮
可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果
Enab
leTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同
时
更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 Data
Enab
leSelectField 属性,不可选择的项
变灰
,并且鼠标经过
时
没有样式。 -LinkButton和Grid的LinkButtonField增加
Enab
le属性(示例在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窗体
中
的Iframe只让内容区域滚动,而
Toolbar
不滚动的规则。(示例在content_page2.aspx/simpleform.aspx)[fixed] -在simpleform.aspx
中
:Panel[BodyPadding=5](
Toolbar
,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其
中
26是
Toolbar
的高度,32是窗口的标题栏和下边框的高度。 +关闭Iframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样
效果
统一。[fixed] +Grid完善。 -去除
Enab
leClientPaging和
Enab
leClientSort属性,客户端排序和客户端分页在ASP.NET应用
中
会有很多问题(主要是状态保持的问题)。 +
Enab
leServerSort改名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
Markdown编辑器SimpleMDE.zip
SimpleMDE 是一个嵌入式 JavaScript 文本框,用于替代书写好看且易懂的 markdown。WYSIWYG-esque 编辑器可以让用户修改 markdown 的工具条
按钮
和快捷键。WYSIWYG 编辑器产生的 HTML 复杂且多 Bug。Markdown 有很多办法可以解决这个问题,但是在编辑的
时
候不是很清晰。SimpleMDE 可以为那些不太熟悉或者正在学习 markdown 语法的非技术用户设计跨越此鸿沟的桥梁。示例代码:var simplemde = new SimpleMDE({ element: document.getElementById("MyID"), status:
false
, status: ['autosave', 'lines', 'words', 'cursor'], // Optional usage
toolbar
:
false
, autofocus: true, lineWrapping:
false
, indentWithTabs:
false
, tabSize: 4, autosave: {
enab
led
: true, unique_id: "MyUniqueID", delay: 1000, }, }); 标签:SimpleMDE
fckedit编辑器
编辑器 FCKeditor2.4 使用说明 .下载 FCKeditor2.3 (FCKeditot for java) FCKeditor2.4 (FCKeditor基本文件) 以下是下载地址: http://www.fckeditor.net/download/default.html 2.建立项目: 建立项目tomcat/webapps/TestFCKeditor. 3.将FCKeditor2.4解压缩 将FCKeditor2.4解压缩,将整个目录FCKeditor复制到项目的根目录下,并将解压缩出来的文件夹fckeditor重命名为FCKeditor 目录结构为:tomcat/webapps/TestFCKeditor/FCKeditor 然后将FCKeditor-2.3.zip(java)压缩包
中
\web\WEB-INF\lib\目录下的两个jar文件拷到项目的\WEB-INF\ lib\目录下把其
中
的src目录下的FCKeditor.tld文件copy到TestFCKedit/WEB-INF/下 4.合并web.xml: 将FCKeditor-2.3.zip压缩包
中
\web\WEB-INF\目录下的web.xml文件合并到项目的\WEB-INF\目录下的web.xml文件
中
5. 修改合并后的web.xml文件 修改合并后的web.xml文件,将名为SimpleUploader的Servlet的
enab
led
参数值改为true, 以允许上传功能,Connector Servlet的baseDir参数值用于设置上传文件存放的位置 在web.xml最后添加标签定义:
/TestFCKeditor
/WEB-INF/FCKeditor.tld
现在的web.xml文件没有
标签了,应该直接在jsp文件
中
使用:<%@ taglib uri="http://fckeditor.net/tags-fckeditor" prefix="FCK" %> 6. 映射: 上面文件
中
两个servlet的映射分别为:/editor/filemanager/browser/default/connectors/jsp/connector 和/editor/filemanager/upload/simpleuploader,需要在两个映射前面加上/FCKeditor, 即改为/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector和 /FCKeditor/editor/filemanager/upload/simpleuploader 这两个名字根据你放在工程
中
的FCKeditor文件夹名称而定 7.修改skin文件夹 进入skin文件夹,如果你想使用fckeditor默认的这种奶黄色, 那就把除了default文件夹外的另两个文件夹直接删除.(建议不删除,以后要用到其
中
的一个文件夹) 8.删除无用文件 删除/FCKeditor/目录下除fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件以外的所有文件,保留文件夹editor 删除目录/editor/_source, 删除/editor/filemanager/browser/default/connectors/下的所有文件 删除/editor/filemanager/upload/下的所有文件 删除/editor/lang/下的除了fcklanguagemanager.js(我下载的没有这个文件), en.js, zh.js, zh-cn.js四个文件的所有文件 9.修改配置: 打开/FCKeditor/fckconfig.js 修改 FCKConfig.DefaultLanguage = 'zh-cn' ; 把FCKConfig.LinkBrowserURL等的值替换成以下内容: FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ; FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ; FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ; FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ; FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ; FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ; 10.其它 fckconfig.js总配置文件,可用记录本打开,修改后将文件存为utf-8 编码格式找到: FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ; 即在编辑器域内可以使用Tab键 如果你的编辑器还用在网站前台的话,比如说用于留言本或是日记回复
时
,那就不得不考虑安全了, 在前台千万不要使用Default的
toolbar
,要么自定义一下功能,要么就用系统已经定义好的Basic, 也就是基本的
toolbar
,找到: FCKConfig.
Toolbar
Sets["Basic"] = [ ['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-', 'Smiley','SpecialChar','Replace','Preview'] ] ; 这是改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像
按钮
添加功能都能让前台 页直接访问和上传文件, fckeditor还支持编辑域内的鼠标右键功能 FCKConfig.ContextMenu = ['Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField', /*'ImageButton',*/'Button','BulletedList','NumberedList','TableCell','Table','Form'] ; 这也是改过的把鼠标右键的链接图像,FLASH,图像
按钮
功能都去掉 找到: FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 加上几种我们常用的字体 FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 11.添加文件 添加文件 /TestFCKeditor/test.jsp: <%@ page language="java" import="com.fredck.FCKeditor.*" %> <%@ taglib uri="/TestFCKeditor" prefix="FCK" %> <script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"> ) 2.script脚本语言调用 (必须引用 脚本文件 <script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"> ) --%> //标签调用方式 <%--
toolbarSet = "Default" > input
--%> //JS调用方式
input
<script type="text/javascript"> var oFCKeditor = new FCKeditor('content') ; oFCKeditor.BasePath = "/TestFCKeditor/FCKeditor/" ; oFCKeditor.Height = 400; oFCKeditor.
Toolbar
Set = "Default" ; oFCKeditor.ReplaceTextarea();
//FCKeditor API 调用 <%--
<% FCKeditor oFCKeditor ; oFCKeditor = new FCKeditor( request, "content" ) ; oFCKeditor.setBasePath( "/TestFCKeditor/FCKeditor/" ) ; oFCKeditor.setValue( "input" ); out.println( oFCKeditor.create() ) ; %>
--%> 添加文件/TestFCKeditor/show.jsp: <% String content = request.getParameter("content"); out.print(content); %> 12.测试 浏览http://localhost:8080/TestFCKeditor/test.jsp 最后注意不同的版本 变量名称可能不一样请参考你使用的API文档 配置选项: AutoDetectLanguage=true/
false
自动检测语言 BaseHref="" 相对链接的基地址 ContentLangDirection="ltr/rtl" 默认文字方向 ContextMenu=字符串数组,右键菜单的内容 CustomConfigurationsPath="" 自定义配置文件路径和名称 Debug=true/
false
是否开启调试功能,这样,当调用FCKDebug.Output()
时
,会在调试窗
中
输出内容 DefaultLanguage="" 缺省语言 EditorAreaCss="" 编辑区的样式表文件
Enab
leSourceXHTML=true/
false
为TRUE
时
,当由可视化界面切换到代码页
时
,把HTML处理成XHTML
Enab
leXHTML=true/
false
是否允许使用XHTML取代HTML FillEmptyBlocks=true/
false
使用这个功能,可以将空的块级元素用空格来替代 FontColors="" 设置显示颜色拾取器
时
文字颜色列表 FontFormats="" 设置显示在文字格式列表
中
的命名 FontNames="" 字体列表
中
的字体名 FontSizes="" 字体大小
中
的字号列表 ForcePasteAsPlainText=true/
false
强制粘贴为纯文本 ForceSimpleAmpersand=true/
false
是否不把&符号转换为XML实体 FormatIndentator="" 当在源码格式下缩进代码使用的字符 FormatOutput=true/
false
当输出内容
时
是否自动格式化代码 FormatSource=true/
false
在切换到代码视图
时
是否自动格式化代码 FullPage=true/
false
是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容 GeckoUseSPAN=true/
false
是否允许SPAN标记代替B,I,U标记 IeSpellDownloadUrl=""下载拼写检查器的网址 ImageBrowser=true/
false
是否允许浏览服务器功能 ImageBrowserURL="" 浏览服务器
时
运行的URL ImageBrowserWindowHeight="" 图像浏览器窗口高度 ImageBrowserWindowWidth="" 图像浏览器窗口宽度 LinkBrowser=true/
false
是否允许在插入链接
时
浏览服务器 LinkBrowserURL="" 插入链接
时
浏览服务器的URL LinkBrowserWindowHeight=""链接目标浏览器窗口高度 LinkBrowserWindowWidth=""链接目标浏览器窗口宽度 Plugins=object 注册插件 PluginsPath="" 插件文件夹 ShowBorders=true/
false
合并边框 SkinPath="" 皮肤文件夹位置 SmileyColumns=12 图符窗列数 SmileyImages=字符数组 图符窗
中
图片
文件名数组 SmileyPath="" 图符文件夹路径 SmileyWindowHeight 图符窗口高度 SmileyWindowWidth 图符窗口宽度 SpellChecker="ieSpell/Spellerpages" 设置拼写检查器 StartupFocus=true/
false
开启
时
FOCUS到编辑器 StylesXmlPath="" 设置定义CSS样式列表的XML文件的位置 TabSpaces=4 TAB键产生的空格字符数
ToolBar
CanCollapse=true/
false
是否允许展开/折叠工具栏
Toolbar
Sets=object 允许使用
TOOLBAR
集合
Toolbar
StartExpanded=true/
false
开启是
TOOLBAR
是否展开 UseBROnCarriageReturn=true/
false
当回车
时
是产生BR标记还是P或者DIV标记 解决上传乱码: 在SimpleUploaderServlet.java和ConnectorServlet.java两个文件里找到 DiskFileUpload upload = new DiskFileUpload(); 分别在其后加入 upload.setHeaderEncoding("utf-8"); 这样解决了文件上传的
中
文乱码问题. 但是在控制台显示的
中
文内容还是乱码,但是没关系,我们没必要去看控制台下的
中
文 ----------------------------------------------------------------another FCKeditor2.4.2 Java版使用说明 下载地址以及基本配置请参考:http://hi.baidu.com/wain19/blog/item/c33fb0fab74f24dfb48f312d.html 我的开发环境是ubuntu7.04, 系统默认编码是utf-8, 期间,本人遇到了下面这些问题: 问题一:XML request error: Internel Server Error(500) 出现错误的地方是在:点插入
图片
,点Browse
按钮
的
时
候: XML request error: Internel Server Error(500) 找资料:http://lamono.javaeye.com/blog/49135 拷贝xalan.jar和serialize.jar到/WEB-INF/lib,问题解决 FCKeditor-java没有很好的解决
中
文问题需要我们修改它的源代码后重新编译打包打包过程如下: 1 新建一个web工程名字为FCKeditor-java-2.3,然后把FCKeditor-2.3-java.zip解压缩后的代码拷贝到工程目录下 2如果是用的Eclipse,使用快捷键Ctrl+Shift+R 在SimpleUploaderServlet.java和ConnectorServlet.java两个文件里找到 DiskFileUpload upload = new DiskFileUpload(); 分别在其后加入 upload.setHeaderEncoding("utf-8"); 现在如果直接运行ant任务,会报下面的错误: taskdef class org.apache.catalina.ant.DeployTask cannot be found 3 把tomcat安装目录下/server/lib
中
的catalina-ant.jar拷贝到/WEB-INF/lib目录 下 4 打开build.xml 找到
找到
运行ant任务dist, 就可以生成新的FCKeditor-2.3.jar包 问题三: 上传
时
新建的
中
文目录全部乱码 虽然上传到服务器上的文件名正常,但在JSP页面点下载链接
时
文件名乱码导致不能正常下载 查找资料:TOMCAT 链接参数有
中
文
时
,乱码解决方法 http://hi.baidu.com/jadestone/blog/item/7564deefc9192d36acafd5be.html 修改tomcat-home/conf/server.xml 方法一: 在两处地方加上URIEncoding="utf-8":
enableLookups="
false
" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
enableLookups="
false
" redirectPort="8443" debug="0" protocol="AJP/1.3" URIEncoding="utf-8" /> 方法二: 使用useBodyEncodingForURI="true". 这个方法适合你的TOMCAT实例下需要跑多个不同Encoding的程序
时
(有点怀疑?!) <... maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enab
leLookups="
false
" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" />
enab
leLookups="
false
" redirectPort="8443" protocol="AJP/1.3" useBodyEncodingForURI="true" / 我只试了方法一,问题解决! 这样, FCKeditor终于可以正常使用了 ================================================================= 以下为个人原创 http://blog.csdn.net/nickshen3/ 怎么将FCKeditor2.4使用在自己的web
中
1. 在webapps创建test文件夹webapps\test 2. 将下载的FCKeditor2.3的Java包FCKeditor-2.3.zip解压缩,并将web文件夹下的两个文件夹_samples,WEB-INF拷贝到刚才建立的webapps\test下再将src文件夹下的FCKeditor.tld拷贝到WEB-INF下 3. 在webapps\test\下建立文件夹FCKeditor 4. 将刚才下载的 FCKeditor_2.4.3.zip 解压缩,然后将fckeditor文件夹下的 editor(文件夹),fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml四个文件拷贝到刚才建立的文件夹FCKeditor下 5.修改test\_samples\jsp\sample02.jsp文件,将原来的
时候只需将test换成项目的名称即可 6.打开tomcat测试Http://localhost:8080/test/_samples/jsp/sample02.jsp ok
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章