[原创]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包含很多重要的更新,分别列举如下:

 

姗姗来迟的文件上传控件

image_thumb14

 

虽然之前可以通过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:  }

 

复选框列表控件

image

 

复选框列表控件的使用和单选框列表控件的用法类似,不过V3.0版本增加了必选项客户端验证和竖排复选框的功能。

 

完善的布局管理

ExtAspNet新增了Table、HBox和VBox三种布局,从而拥有了ExtJS全部的布局管理。这将大大方便开发人员对页面上的控件进行有效地管理。

 

Table布局:

image

 

 

HBox布局:

image

 

 

VBox布局:

image

 

 

表格的行扩展列

image

 

一个看似复杂的功能,对开发人员确实非常简单,只需要向原来的TemplateField增加一个RenderAsRowExpander即可。

image

 

 

完整的100多个中文示例

image

 

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秘密花园》系列文章目录

 

 

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授权协议

注意:

  1. ExtAspNet授权协议仅适用于ExtAspNet应用程序本身。
  2. 由于ExtAspNet是基于ExtJS的应用,所以如果您在商业应用中使用了ExtAspNet,请向ExtJS官方购买商业授权。
posted @ 2012-01-28 20:19  三生石上(FineUI控件)  阅读(15435)  评论(89编辑  收藏  举报