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官方購買商業授權。