【转】[原创]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秘密花园》系列文章

在未来的3个月,我会在博客园逐步发布《ExtAspNet秘密花园》系列文章,预计在30篇以上,敬请关注我的博客。

 

  • ExtAspNet秘密花园(一) — 为什么选择ExtAspNet?
  • ExtAspNet秘密花园(二) — 一切从头开始
  • ExtAspNet秘密花园(三) — 深入Web.config
  • ExtAspNet秘密花园(四) — 每个页面都需要一个PageManager
  • ExtAspNet秘密花园(五) — 功能强大的按钮
  • ExtAspNet秘密花园(六) — 常用的表单控件
  • ExtAspNet秘密花园(七) — 姗姗来迟的上传控件
  • ExtAspNet秘密花园(八) — 下拉列表控件
  • ExtAspNet秘密花园(九) — 表单控件的客户端验证
  • ……

 

ExtAspNet交流社区

 

开源:http://extaspnet.codeplex.com/ 
博客:http://sanshi.cnblogs.com/

 

QQ交流群:

  1. ExtAspNet技术交流群1:158028499(已满),100人,创始人:sanshi  
  2. ExtAspNet技术交流群2:111870015(已满),200人,创始人:爱淘课
  3. ExtAspNet技术交流群3:102333298(已满),200人,创始人:爱淘课
  4. ExtAspNet技术交流群4:123899180(已满),200人,创始人:爱淘课  
  5. ExtAspNet技术交流群5:105052447(已满),500人,创始人:╰☆阿波◆罗
  6. ExtAspNet技术交流群6:124527804(已满),200人,创始人:爱淘课
  7. ExtAspNet技术交流群7:161370746(已满),200人,创始人:真心小騙子
  8. ExtAspNet技术交流群8:166649916(未满),200人,创始人:AT

 

   也欢迎广大热心网友为ExtAspNet贡献QQ技术交流群。

 

 

注:暂时放弃 extasp.net 和 bbs.extasp.net 两个网站,不过我会保留 extasp.net 域名(国外的空间速度太坑爹,国内的空间价格太坑爹)。

 

 

 

如果你喜欢ExtAspNet,请推荐这篇文件或者关注博主,以便更多的网友了解和熟悉ExtAspNet,谢谢! 

posted @ 2012-01-28 21:46  swjm119  阅读(828)  评论(0编辑  收藏  举报