[原创]ExtAspNet新春贺岁版 - 文件上传控件、复选框列表控件、完善布局管理、表格的行扩展列、完整的100多个中文示例、30多处BUG修正与功能增强、《ExtAspNet秘密花园》系列文章
ExtAspNet 是一组基于 ExtJS 的专业 ASP.NET 2.0 控件库,拥有完善的 AJAX 支持和丰富的界面效果。
ExtAspNet 是为了创建没有 JavaScript,没有 CSS,没有 UpdatePanel,没有 ViewState,没有 WebServices 的网站应用程序。
从2008年4月开始,ExtAspNet一直在默默地坚持,有过骄傲,有过彷徨,但从未放弃。龙年伊始,我们迎来了ExtAspNet的一个重要更新——V3.0。
V3.0包含很多重要的更新,分别列举如下:
姗姗来迟的文件上传控件
虽然之前可以通过ASP.NET的FileUpload控件来实现同样的功能,但是有两个问题也一直困扰着广大的热心网友:
1. 文件上传框风格和整个页面风格不搭配。 2. 上传时是整个页面回发,和ExtAspNet默认的AJAX风格也不搭。
这次新增的FileUpload控件完美地解决了这两个问题,并且实现代码非常简单:
1: <ext:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" EnableBackgroundColor="true"
2: ShowBorder="True" Title="表单" Width="350px" ShowHeader="True">
3: <Items>
4: <ext:TextBox runat="server" Label="用户名" ID="tbxUseraName" Required="true" ShowRedStar="true">
5: </ext:TextBox>
6: <ext:FileUpload runat="server" ID="filePhoto" EmptyText="请选择一张照片" Label="个人头像" Required="true"
7: ShowRedStar="true">
8: </ext:FileUpload>
9: <ext:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" ValidateForms="SimpleForm1"
10: Text="提交">
11: </ext:Button>
12: </Items>
13: </ext:SimpleForm>
1: protected void btnSubmit_Click(object sender, EventArgs e)
2: {
3: string fileName = DateTime.Now.Ticks.ToString() + "_" + filePhoto.FileName;
4: if (filePhoto.HasFile)
5: {
6: filePhoto.SaveAs(Server.MapPath("~/upload/" + fileName));
7: }
8: }
复选框列表控件
复选框列表控件的使用和单选框列表控件的用法类似,不过V3.0版本增加了必选项客户端验证和竖排复选框的功能。
完善的布局管理
ExtAspNet新增了Table、HBox和VBox三种布局,从而拥有了ExtJS全部的布局管理。这将大大方便开发人员对页面上的控件进行有效地管理。
Table布局:
HBox布局:
VBox布局:
表格的行扩展列
一个看似复杂的功能,对开发人员确实非常简单,只需要向原来的TemplateField增加一个RenderAsRowExpander即可。
完整的100多个中文示例
ExtAspNet的V3.0对全部的示例进行中文化重构,让你不再有语言的烦恼。
30多处BUG修正与功能增强
这里列出ExtAspNet的V3.0完整的更新列表:
+2012-01-28 v3.0
-修正 TwinTriggerBox 控件输入值后回车出错的问题(李渝川)。
+Tree 控件增强。
-Tree 控件增加 EnableIcons 属性。
-Tree 控件的 AutoLeafIdentification 属性默认为 true(这是常用属性,不应该每次都设置)。
-Tree 控件增加 SelectedNodeIDArray 属性。
-简化 TreeNode 的内部结构,现在不需要写 Nodes 节点(土豆丝)。
+Web.config 增强。
-为 Web.config 中的 ExtAspNet 配置节增加 EnableBigFont 配置项,适合于显示中文字体(最小字体由11px改为12px)。
-为 Web.config 中的 ExtAspNet 配置节增加 DebugMode 属性,用于在 ASPX 生成的 HTML 源代码中显示格式化后的 ExtJS 代码,方便调试(vazumi)。
-为 Web.config 中的 ExtAspNet 配置节增加 FormLabelSeparator 属性,同时 SimpleForm 和 From 控件增加 LabelSeparator 属性。
-LabelWidth的默认值改为100px,与extjs保持一致(以前默认是80px)。
+Button 控件增强。
-修正 Button 设置图标后,CssClass 不起作用的问题。
-Button 增加 IconAlign 属性。
-为 Button 增加 Size 属性,可以设置按钮的大小。
+表单控件增强。
-HtmlEditor 控件增加 EnableChineseFont 属性,默认为 true(土豆丝)。
-修正位于表单外面的 CheckBox 控件自动回发时的 JavaScript 错误。
-表单字段增加 ShowEmptyLabel 属性(默认为 false),用来控制是否显示空白标签(示例在 /basic/login_captcha.aspx)。
-为 Label HyperLink LinkButton 增加 Tooltip ToolTipTitle ToolTipAutoHide 三个属性,用来显示提示信息。
-为 HyperLink LinkButton 增加 EncodeText 属性。
-为 TextArea 增加 AutoGrowHeightMin 属性。
-为 HyperLinkField 添加属性 DataNavigateUrlFieldsEncode,用来编码地址栏URL。
-修正 Window 的 ESC 按键事件处理和关闭按钮事件处理不一致的情况(sa)。
-简化客户端应用内置图标的方式,以前需要这样的代码 <%= IconHelper.GetIconUrl(Icon.Reload) %>(依然有效),现在直接 res.axd?icon=Reload 就可以了(土豆丝)。
+修正TabStrip以及Window的内容高度异常的问题:AutoWidth和AutoHeight默认为false,ExtAspNet不会默认渲染这个值,除非手工指定。
-这是extjs3.4引入的特性,如果组件的autoHeight为true,则浏览器会根据组件的内容管理其高度,手工调用setHeight没有效果。
-典型的案例,如果设置Window的AutoHeight为true,在不能最大化和改变窗体的大小。
-修正首页打开后不能默认选中左侧第三级树节点的问题。
+增加FileUpload控件,并增加示例页面form/fileupload.aspx。
-修正使用文件上传控件后,返回的结果中出现HTML编码问题。
+Grid控件增强。
-为 WindowField 和 LinkButtonField 字段增加 Icon 和 IconUrl 两个属性(efrigate43)。
-为全部表格列字段增加 ToolTip 属性,同时原来的 DataTooltipField 改名为 DataToolTipField。
-增加示例 grid/grid_centercolumn.aspx,使某列居中显示。
-为 TemplateField 增加 RenderAsRowExpander 属性,用来显示行扩展。增加示例 /grid/grid_rowexpander.aspx。
+为所有控件增加 Ajax 属性 CssClass 和 CssStyle(goansonpan)。
-增加示例 other/cssstyle.aspx。
-示例工程,在切换示例时同时修改地址栏,以便页面刷新后也能回到最后一次浏览的页面。
-增加 Table、HBox 和 VBox三种布局,并对所有布局示例进行重构。
+单选框控件增强。
-为 RadioButtonList 增加 ColumnVertical、Required 和 RequiredMessage 三个属性。
-增加 CheckBoxList 控件,并增加示例 /form/checkboxlist.aspx。
-增加示例 /aspnet/aspnet_literal.aspx。
+将Button和MenuItem的Menus属性改为Menu属性,毕竟一个按钮只可能有一个菜单,这样也简化了ASPX中的标签。
-同时更新/button/button_menu.aspx和/other/menu_dynamic.aspx两个示例。
《ExtAspNet秘密花园》系列文章
在未来的几个月,我会在博客园逐步发布《ExtAspNet秘密花园》系列文章,预计在30篇左右,敬请关注我的博客。
ExtAspNet交流社区
示例:http://demo.extasp.net/
论坛:http://bbs.extasp.net/
文档:http://doc.extasp.net/
开源:http://extaspnet.codeplex.com/
博客:http://sanshi.cnblogs.com/
QQ交流群,请到这里查看群列表:http://bbs.extasp.net/forum.php?mod=viewthread&tid=533
如果你喜欢ExtAspNet,请推荐这篇文件或者关注博主,以便更多的网友了解和熟悉ExtAspNet,谢谢!
=====================================================
不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0
从ExtAspNet v3.1.0开始,ExtAspNet将使用对商业应用友好的Apache License 2.0
注意:
- ExtAspNet授权协议仅适用于ExtAspNet应用程序本身。
- 由于ExtAspNet是基于ExtJS的应用,所以如果您在商业应用中使用了ExtAspNet,请向ExtJS官方购买商业授权。