FineUI(開源版)
基于 ExtJS 的開源 ASP.NET 控件庫
FineUI的使命
創建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的網站應用程序
支持的瀏覽器
IE 8.0+、Chrome、Firefox、Opera、Safari
授權協議
Apache License v2.0(ExtJS 庫在 GPL v3 協議下發布)
相關鏈接
首頁:http://fineui.com/
論壇:http://fineui.com/bbs/
示例:http://fineui.com/demo/
文檔:http://fineui.com/doc/
下載:http://fineui.codeplex.com/
FineUI v4.1.0
更新日志:
+2014-07-21 v4.1.0
-渲染到頁面上的按鈕,其外部容器display默認為inline-block。
-示例grid/grid_iframe_window.aspx減少兩個Panel,實現和之前一樣的效果。
+反射獲取對象屬性時,不僅包含public屬性,而且包含private, internal屬性。
-指定參數BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic。
+修正普通回發時主題丟失問題。
-重現步驟:選擇Blue主題,打開aspnet/aspnet.aspx,點擊“4.ASP.NET按鈕”,頁面回到默認的Neptune主題。
-增加示例other/keydown.aspx。
-為ControlUtil.FindParentControl增加重載方法,用來處理繼承關系。
-為ControlBase的GetPostBackEventReference增加重置函數,指定是否返回啟用AJAX的腳本。
-更新示例iframe/passvalue_iframe.aspx,增加父窗口向子窗口傳值。
-GroupPanel的默認布局由Container改為Anchor。
-修正輸出頁面的X-UA-Compatible標簽錯誤(zjfeiye-5803)。
-將icon目錄移到res目錄內部。
-修正打開包含IFrame的Window的過程中按下ESC鍵時,可能出現彈出框的問題(tucq168-5858)。
-Tree的EnableArrows屬性默認為true。
-修正MenuCheckBox總是回發的問題,也即AutoPostBack設置無效。
+表單增強。
-Web.config和PageManager中FormOffsetRight的默認值從5px改為0px。
-Form控件中非最后一列的右側空白默認為5px。
-修正定義在Form,SimpleForm上的OffsetRight、LabelSeparator無效的問題。
-增加示例form/form_disabled.aspx,將所有表單字段禁用、設置只讀、應用無效標識。
-Form控件啟用Items屬性,Layout屬性默認為Anchor,可以自行設置(之前為只讀屬性)。
-如果父控件的布局不是Anchor,則表單字段忽略OffsetRight屬性(也即渲染到客戶端的anchor屬性)。
-更新示例form/layout_panel2.aspx。
-增加示例form/layout_contactus.aspx,演示用VBox和HBox進行復雜的表單布局。
-增加示例form/layout_checkout.aspx,演示用Form和GroupPanel制作更加復雜的表單。
-示例dropdownlist/shengshixian.aspx重構。
-修正FileUpload無法顯示圖標的問題,更新示例form/fileupload_autopostback.aspx。
+表格增強。
-增加簡單購物車示例(grid/grid_edit_cart.aspx)。
-增加示例grid/grid_rowcommand_download.aspx,以便在表格行內下載文件。
-增加示例grid/grid_summary_scrollbar.aspx,演示絕對定位合計行與橫向滾動條同時存在的情況。
-GridRow的Values屬性類型更改為object[]。
-刪除示例grid/grid_edit_save_manual.aspx。
-重構示例grid/grid_edit_save_auto.aspx,客戶端更新表格行對應的表單,定時保存全部數據并顯示提示信息。
+單元格編輯表格增強。
-可編輯單元格和CheckBoxField同時存在時,出現BackupPostDataProperty中無法添加相同鍵的問題(ji78-5797)。
-修正日期列在不進行修改即退出編輯狀態后,顯示左上角的已修改標識的問題。
+返回后臺的日期字段為字符串是格式化后的(類似2014-07-20,而不是之前的2003-09-01T00:00:00)。
-修改后臺的處理代碼DateTime.Parse(rowDict["EntranceDate"]).ToString("yyyy-MM-dd"),直接使用rowDict["EntranceDate"]。
-修正重新綁定數據后,仍然顯示左上角已修改標識的問題(zjfeiye-5779)。
-Grid的GetNewAddedList函數返回類型更改為List<Dictionary<string, object>>。
-Grid的GetModifiedDict函數返回類型更改為Dictionary<int, Dictionary<string, object>>。
+比如入學年份列標簽定義了DataField=EntranceYear,FieldType=Int,那么后臺拿到修改值就是整形值,無需再做轉換。
-rowData["AtSchool"]=Convert.ToBoolean(rowDict["AtSchool"]);可以更改為:rowData["AtSchool"]=rowDict["AtSchool"];
-修正NumberBox的NoNegative屬性無效的問題(yezie-5789)。
+刪除無效或者重復的屬性。
-刪除TabStrip的屬性EnableTitleBackgroundColor、EnableDeferredRender。
-刪除Window的屬性Plain。
-刪除ToolbarPosition的枚舉類型Footer、Buttons,這兩個都用Bottom枚舉類型代替。
-刪除Region上的Margins屬性,刪除BoxComponent上的BoxMargin屬性,這兩個都可以使用Margin屬性代替。
-修正用戶控件中使用NextFocusControl時定位錯誤的問題(牙膏人-5835)。
+第三方編輯器示例重構。
-刪除FCKEditor的示例。
-CKEditor的示例不再使用ASP.NET控件,而是直接調用JS。
-增加TinyMCE和UMEditor的示例。
-更新ueditor/ueditor.aspx示例,刪除難以理解的jQuery Promise,使用簡單的處理方式。
-更新ueditor/ueditor_two.aspx示例,使用Form的自定義布局,而不是原始的table標簽。
-修正樹控件綁定為空值無效的問題,更新示例tree/databind/tree_document.aspx(IT刀客)。
重要更新提醒:
1. 首次支持復雜的表單布局
現在可以靈活使用HBox、VBox、Column、Anchor進行表單布局,而FineUI(開源版)v4.1.0之前的版本內置了SimpleForm和Form兩種固定的布局方式,下面來看幾個復雜的表單布局示例:
2. GridRow的Values屬性類型更改為object[]
之前Values屬性的類型是 string[],現在改為 object[] 更能真實的反映每列的數據類型,特別是在單元格編輯中定義 FieldType="Int" 的情況下。
3. 增加幾個復雜交互的表格示例
簡單的購物車示例,這個示例的關鍵在于:
- 如何在客戶端通過JavaScript響應表格模版列中文本輸入框的改變事件
- 如何響應表格的選中行改變事件
定時保存用戶輸入值,這個示例關鍵在于:
- 如何自定義回發事件,并在保存數據后顯示成功的消息提示
- 如何在客戶端響應表格的行選中事件,并獲取行內容以填充表單(之前這一步是在服務器端完成的,由于需要頻繁交互,效果不理想)
- 如何在客戶端以及服務器端獲取表格中文本輸入框的值
4. 單元格編輯的重構
如果你之前用到單元格編輯,則一定要升級到這個最新版本v4.1,這個版本不僅包含重要的BUG修復,而且對關鍵數據類型進行了調整:
-
Grid的GetNewAddedList函數返回類型更改為List<Dictionary<string, object>>。
-
Grid的GetModifiedDict函數返回類型更改為Dictionary<int, Dictionary<string, object>>。
一個典型的改變示例:
比如入學年份列標簽定義了DataField=EntranceYear,FieldType=Int,那么后臺拿到修改值就是整形值,無需再做轉換。
rowData["AtSchool"]=Convert.ToBoolean(rowDict["AtSchool"]);可以更改為:rowData["AtSchool"]=rowDict["AtSchool"];
5. 第三方編輯器重構(新增TinyMCE、UMEditor)
編輯器示例中刪除了不容易理解的 jQuery Promise (雖然很有技術含量~_~),使用最簡單的編程結構實現相同的功能,值得對比學習。
UMEditor:
TinyMCE:
FineUI.Design v4.1
更新日志:
+2014-07-21 v4.1
-FineUI(開源版)v4.1適用。
-修正Form控件不顯示標題的問題。
-修正問題:無法從TreeInstance屬性的字符串表示形式創建FineUI.Tree類型的對象。
FineUI.Design是獨立于FineUI(開源版)的程序,目的是為 FineUI(開源版)控件庫提供Visual Studio的設計時支持,需要購買商業授權才能獲得。
查看詳情:支持開源!購買FineUI.Design商業授權!
提醒:已經購買設計時的會員,請搜索之前收到的授權郵件(郵件標題為:FineUI.Design 授權碼投遞),并按照郵件提示重新下載新版 FineUI.Design 即可!
AppBox v4.1
更新日志:
+2014-07-21 v4.1
-項目更新為.Net40。
-Entity Framework升級為v6.1。
-FineUI升級為v4.1.0。
-如果手風琴內樹節點為空,則不顯示手風琴項。
-修正新增菜單時JavaScript錯誤。
-為登錄后首頁的外部面板增加AutoScroll="true",使其在適當的時候出現縱向滾動條。
-重構admin/role_power.aspx頁面的客戶端腳本,使其更簡潔和準確。
-修正對關聯屬性排序時出錯的問題(忽然白發、☆☆αβ☆☆)。
-修正角色權限管理頁面按鈕未進行權限管理的問題。
+優化跨頁保持選中項的實現。
-影響頁面role_user_addnew.aspx、dept_user_addnew.aspx、title_user_addnew.aspx。
-在Page_Load中而不是在控件事件中調用SyncSelectedRowIndexArrayToHiddenField。
-恢復登錄后首頁的大標題欄。
重要更新提醒:
- 鑒于使用.Net40的用戶比較多,這次將AppBox的項目從Net45降級為Net40。
- FineUI升級為最新版v4.1.0。
- 修正關聯屬性排序出錯的問題。
- 恢復登錄后首頁的大標題欄。
注:AppBox屬于捐贈軟件,你可以通過捐贈作者(>=1元)來獲取AppBox全部源代碼。
再來一張截圖,看下效果:
FineUI(專業版)發布預告
FineUI(專業版)是由三生石上全新打造的基于 jQuery 的專業 ASP.NET 控件庫。
選擇FineUI(專業版)的四大理由:
1. 簡單:專業版和開源版兼容(v4.1),您現在就可以使用開源版進行開發,升級到專業版只需替換 DLL 和改名即可。
2. 極速:專業版基于 jQuery 庫重寫,JavaScript體積明顯減少,內存占用急劇下降,頁面加載速度有大幅度的提升。
3. 多彩:專業版內置 25 種主題,用戶還可以使用 jQueryUI ThemeRoller 創建專屬自己的皮膚。
4. 便宜:專業版不限開發者數量和永久免費升級,使得典型授權案例的費用減少為開源版的 1/3 左右。
詳情:http://fineui.com/pro/
注:
1. FineUI(專業版)由合肥三生石上軟件有限公司榮譽出品,僅限企業購買。
2. FineUI(開源版)會繼續維護和開發,個人用戶推薦使用開源版。
FineUI(專業版)預覽版將在 2014-07-31 號發布,正式版將于 2014-08-15 發布!
為了讓大家對FineUI(專業版)有個好印象,先放出 25 張 AppBox 在 FineUI(專業版) 下的出彩截圖:
關注作者 + 推薦本文
如果本文對你有所幫助,別忘了【關注作者】 + 【推薦本文】,你的支持是我們前進的動力!
質疑博客園的管理行為,甚至如下一篇純技術分享博文都被移出首頁,等待回復:http://www.cnblogs.com/cmt/p/3857692.html
FineUI小技巧(6)自定義頁面回發 http://www.cnblogs.com/sanshi/p/3806507.html
這篇博文有那個地方不符合要求了,被移除首頁?
這是一篇純技術分享的博客,介紹了如何在開源FineUI中進行自定義頁面回發,包含三塊知識,10個代碼片段,5個運行時截圖。花了作者不下1.5小時來寫這篇博文。
文章列表