用.Net開發(fā)3年,主要接觸資產(chǎn)管理,生產(chǎn)流程,質(zhì)量追溯,.Net在這方面還是很靠譜的。2月低接觸FineUI,那時(shí)版本是3.0+,第一眼讓我想起了ExtJs,其實(shí)就是用.Net封裝了ExtJs讓ASP.NET開發(fā)更有效率,實(shí)際用起來確實(shí)是這樣。
ASP.NET的回發(fā)確實(shí)讓人頭疼,很多東西即使結(jié)合前臺(tái)Js也用的很別扭,而ExtJs在.Net開發(fā)環(huán)境下又很復(fù)雜完全是另一種語(yǔ)言,即使后來有ExtJs For .Net也用不好,結(jié)果是沒用起來。FineUI處理回發(fā)的機(jī)制剛好結(jié)合了ExtJs和ASP.NET的優(yōu)點(diǎn),讓開發(fā)變的灰常簡(jiǎn)單,反正我是這么認(rèn)為。
好的軟件產(chǎn)品要包括以下幾點(diǎn)。功能,功能強(qiáng)大能滿足實(shí)際的各種復(fù)雜需求這是最基本的;簡(jiǎn)易,分兩方面一是程序開發(fā)要快速簡(jiǎn)單,減少開發(fā)周期,軟件成本降低,好的框架必不可少,二是軟件操作快捷用起來直觀方便;美觀,好的UI讓人享受,不了解軟件的人甚至也有要操作的欲望。我不敢過于抬高FineUI框架,我只能說基本能滿足簡(jiǎn)易和美觀兩點(diǎn),我用著足夠了。
3月正式啟用FineUI框架升級(jí)產(chǎn)品。開發(fā)中亦遇到了許多問題,大大改變了原來的代碼邏輯,不用再處理討厭的回發(fā),前臺(tái)JS省了一大片,而且代碼全部開源,細(xì)心研究也可以學(xué)到很多東西,甚至改出適應(yīng)自己的控件。FineUI集成了很多ASP.NET常用的控件,但畢竟是在ExtJs上搭的所以前臺(tái)渲染上和ASP.NET控件無甚大關(guān)系。SO,記錄分享一下開發(fā)過程中遇到和解決的問題。讓更多的人脫離苦海。教程要自己去看,我不教,我不是大師,不要高看我,我是CodingFarmer別噴我。實(shí)際開發(fā)環(huán)境是FineUI 4.0.4
1.實(shí)例代碼中GetClientIDS方法
沒有什么必要,開始我也沒看清,其實(shí)就是輸出個(gè)控件的ClientID,ClientID會(huì)在HTML呈現(xiàn)時(shí)自動(dòng)生成,前臺(tái)的控件寫上ClientIDMode="Static" 就能在前臺(tái)找到直接F(‘控件ID’)即可。
2.建議使用頁(yè)面及配置及每個(gè)頁(yè)加上<%@ Register Assembly="FineUI" Namespace="FineUI" Tag 沾行代碼并不費(fèi)力,我的項(xiàng)目比較大有的功能不能避免FineUI和ASP.NET頁(yè)面混合用所以不寫成站點(diǎn)及配置,可以兼容多個(gè)組件。在FineUI頁(yè)面下混用ASP.NET控件也不提倡,除非有特殊功能。 3.編輯頁(yè)面回發(fā) 編輯頁(yè)面后自動(dòng)刷新父頁(yè)面列表,__doPostBack得到了解放。直接上代碼 getValue()是得到值,activeWindow.window就是上級(jí)頁(yè)面的意思,后臺(tái)保存完數(shù)據(jù)后即可提示和刷新 Alert.Show()輸出的是個(gè)Div,在點(diǎn)擊彈出提示的確認(rèn)后執(zhí)行前臺(tái)ActiveWindowBack方法 父頁(yè)面接收 1 function ActiveWindowBack() { 2 var activeWindow = F.wnd.getActiveWindow(); 3 activeWindow.window.__doPostBack('', 'SaveMs_' + F('_hidPageIndex').getValue() + '_' + F('_hidSelectIndex').getValue()); 4 } Alert.Show(resultMsg, "提示", "ActiveWindowBack();");
01.if (GetRequestEventArgument().IndexOf("SaveMs") >= 0) 02. { 03. string SaveMs = GetRequestEventArgument(); 04. BindQueryUserInfo(); 05. try 06. { 07. Grid1.PageIndex = Convert.ToInt32(SaveMs.Split('_')[1]); 08. Grid1.SelectedRowIndex = Convert.ToInt32(SaveMs.Split('_')[2]); 09. } 10. catch { } 11. }
下次將介紹頁(yè)面排版技巧靈活運(yùn)用FingUI.Grid及常用Js,后續(xù)還有各種Iframe頁(yè)面交互。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注