Thursday, September 02, 2010
#
Telerik的RadTabStrip很好用,可以簡單的替我們產生一組標籤,以及對應的區域,一行程式碼都不用寫。
但如果遇到權限控制的程式,某些標籤要拿掉時,要怎麼做呢?請看程式碼。
Friday, August 27, 2010
#
參考:黑暗執行緒【CODE-將CSV檔案內容轉換成ADO.NET DataTable物件】
最近因為案子的需求,要把CSV檔上傳後,把檔案內容寫進資料庫。但我並不想先上傳檔案、讀檔、沒有問題就寫資料庫、刪檔。
所以直接利用Stream的方式,將上傳的檔案轉為Stream後再轉為String,最後再黑暗大大寫的函式,轉成DataTable。這樣就不必將檔案實際放到Server上了。
基本上寫法如下
Saturday, August 21, 2010
#
如果有用過DNN的朋友,一定會遇到一個問題。那就是DNN的網址中預設會包含頁面名稱,這在歐美可能沒什麼關係,因為產生的網址可能會像:http://localhost/tabid/36/News/default.aspx。
但在華文世界中,該頁可能會取名叫做最新消息,這樣就常常會變成:http://localhost/tabid/36/最新消息/default.aspx。看起來沒什麼,但在瀏覽器中時可能會變成:http://localhost/tabid/36/%E6%9C%80%E6%96%B0%E6%B6%88%E6%81%AF/default.aspx。
這樣實在不怎麼美觀,尤其是需要將網址貼到MSN或是BBS上時,常常就會被截斷或是再次編碼。
要怎麼處理這個問題呢?請開啟Web.Config這個檔案,找到friendlyUrl 下的<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules.UrlRewrite" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" />。
把其中includePageName換成false就好了,網址就會變成:http://localhost/tabid/36/default.aspx。惱人的PageName就此消失。
當然還有其它的方案,譬如有些人把Menu的規則改掉,不過個人比較傾向使用這種一了百了的方式解決。
Tuesday, June 29, 2010
#
參考資料得到當前用戶密碼
用程式取得DNN用戶密碼的方法
因為DNN有整合ASP.NET本身自己的User API,所以可以透過下列方式取得使用者的密碼(加密後也適用),如果要寫小工具的人可以參考。
程式如下:
Thursday, June 17, 2010
#
通過程序動態修改DNN模塊標題
修改Container標題
修改Page標題
在DNN中的模組如果要透過程式修改容器標題,需要透過一些比較迂迴的方式來改。我用法是:建立一個類別,繼承自 DotNetNuke.Entities.Modules.PortalModuleBase,專案中所有的User Control都要繼承自該類別,這樣需要改名稱的模組只要呼叫屬性即可。
程式碼如下
Wednesday, December 23, 2009
#
保哥的介紹
原站
在保哥的網站看到的,先記錄一下,之後再看。
Wednesday, June 24, 2009
#
資料來源:CoolCoolGame
資料來源:KingKong Bruce記事
資料來源:官方網站
因為工作的關係,我接觸到DNN(DotNetNuke),越玩越覺得它是個博大精深的專案,也因為這樣讓我在開發時碰了不少壁。
這邊要開始記錄我這段時間學習的內容以及點點滴滴,因為我發現中文的DNN資源真的不多,對岸的blog也常常都是轉貼來轉貼去的,並沒有做一份有系統的整理,所以…我做。
這是入門第一天,先從安裝開始,內容請看【架站DIY】或是【快速安裝】。CoolCoolGame的站長已經把安裝的步驟做得很詳細了,我就不再重寫。但因為工作上的需求,我的資料庫安裝和站長不同,這裡採用的並不是windows驗證,我使用的是windows和sql雙驗證並行。另外我的DNN是安裝4.9.4版,由於只需要開發模組,所以我用的是Install版而非Source版(官方載點)。
怎麼做呢?首先是修改你資料庫的連線模式,用SSMSE連進資料庫後,參考【ASP.NET And SQL Server 2005 Express遠端連線的方法】這篇把資料庫連線模式改掉。改完後記得要創造一個新的使用者出來讓DNN登入呀。再來是安裝,設定資料庫連線時把整合性登入(Integrated Security)的選項取消,Select DataBase換成【SQL Server 2000/2005 Database】,再輸入你的帳密後就可以測試了。
如果一切按照CoolCoolGame的站長所介紹來做,再按我剛才說的,應該可以順利裝起來才對。
第一天就先到這裡。
Saturday, March 28, 2009
#
在小舖上看到有人問怎麼抓取目標網頁內容,並找出想要的區域輸出。找出想要的區域必須靠Regular Expression來配合,以前寫過了,這次記錄的是抓取目標網頁的原始碼。
這裡寫的方法是純粹用ASP.net來抓取而已,還有很多改造的方法可以用,譬如像設定快取以避免被人封ip等,惡搞空間還很大。
jQuery其實也有函式可以用,用client機來跑比較省資源,再加上比起server端的解法,在client做比較不會被封ip…因為都是client的。這也是一種改進的方向。
抓取目標網頁內容(vb.net)
#(4/15筆記:jQuery ajax參考網頁)
Wednesday, March 18, 2009
#
Monday, March 09, 2009
#
參考資料jQuery無限級改變字體大小
參考資料傳說中 JavaScript 的 parseInt('08')
參考資料Visual jQuery(jQuery 1.2.6 API)
常在網路上看到一些把字體放大縮小的函式,這可以達成很好的效果,讓不習慣看小字的人(像是眼精快壞掉的毛豆)有簡單調整的功能。老闆也要求我要做出相同功能,讓客戶可以爽度提昇,既然都要求了,就當作練習jQuery吧。
首先從網路上找相關範例,仔細審核並找出適合的來,仔細找了後,發現很多來源寫得不夠好,無法符合需求,最後就自己東拼西湊出一個來。
先說發現了哪些問題:
- 字體只能分大中小,而有些網站的大字型仍然過小。
- 用CSS定許多樣式出來,再動態改變標籤所繼續的樣式,但如果遇到字型寫死在內文的就掛了。
- 有放大和縮小了,卻沒辦法復原。
現在目標很明確了:【建立一個可無限級放大縮小的功能,它能復原成初始值,並能修改內文定死的字型】。
步驟一:
建立一個可以取所有內文字型大小的函式,在文件讀取時如果沒設定,就加入預設值。
步驟二:
定義一個替內文真正進行放大、縮小的函式。
步驟三:
替函式加上還原的功能就完成了。
以下就是最後的結果。
但目前還不算寫得很好,像是我把能縮放的標籤名稱定死,還原時也有bug,還得再修修。
Tuesday, March 03, 2009
#
原文:瓶水相逢.Net
原站:CSS Table Gallery
最近有一些要做表格美化的需求,而點部落裡的瓶水相逢正好講到這個站。
它裡面是一堆很讚的美化css,你可以切換各種樣式去觀看它的外表,再挑喜歡的下載,正好符合我的需要。
Sunday, February 01, 2009
#
學貫官網:深入淺出-設計模式
最近開始在看這本書,裡面講許多不同的程式設計模式,對以物件導向開發有彈性的系統是十分有幫助的,它是替很久以前的【Design Patten】作全新的解釋,作者群十分的用心,書中內容十分有深度,而且它採用大量圖片以及輕鬆口吻幫助你記憶,值得慢慢體悟(注意,是悟而不是品味哦)。
目前看到第三章:裝飾模式,前三章都有許多不一樣的重點,讓我很期待後面十一章會有什麼樣的內容。之後如果我會利用公司的午休時間把一些比較好用的觀念寫成網誌,請期待(它原本採用語言是Java,如果是我寫的心得,就會採用VB.net)。
想當初…系上開物件導向程式設計,卻都不教物件,只教我們用Java當成c語言來寫程式,害我以為就是這樣子,後來實際看了一些書後才曉得什麼是物件,什麼是設計模式,而且偏偏這類的好書又很難找,更甚者…幾乎都不在.net領域找得到(也有可能是因為我由ASP.net入門的關係)。
有很多人看到一些繪本類的教學書如c語言繪本,都很反彈,總是說這樣的書深度夠嗎?其實這些書才真的是厲害,把很深的觀念用圖型表達出來,俗話說在書中一圖值千金呀,再加上適當的注解,真是好書。
原本在此書以及重構--向範式前進兩本中做抉擇,後來為了一些Patten以及輕鬆有趣的理由讓我選了這本,找到此書真的讓人很高興,推薦有心要走程式的人,為了未來的路好,去細細看過吧。
寫案子時,常把可能發生錯誤的地方包起來不讓別人看到,但自己必須瞭解哪邊出問題,所以寫記錄是必須的,常看到的記錄檔有三種方式:
- 寫進文字檔
- 用mail寄送
- 寫進windows內建的事件檢視器中
寫文字檔以及mail都不在今天的討論範圍中,且它們都有機會自己再出錯。
今天要寫的是利用windows的事件記錄器替我們做好記錄,事件檢視器在哪呢,請在【我的電腦】按右鍵→【管理】→【系統工具】中就找得到了。
首先是最簡單的寫法(我忘記在哪看到的了,sorry),下面的程式碼貼完它就會寫進去了(另錄:老方法)。
不過大家貼完,一定會出現安全性警告,主要是因為ASPNET這個使用者權限不足的關係,請按這個網誌指示加權限,這網誌裡面也貼了許多關於事件檢視器的相關技巧,權限加完後應該就可以順利寫入。
再來是看到F6 Team網誌裡寫的,在global.asax寫錯誤處理,凡應用程式層級的錯誤都會跑到這事件中。所以他就在這個區域寫錯誤處理(以下為C#語法),處理完的結果也可以看他的網誌中看到。
而根據微軟的建議,其實我們還有Page_Error事件可以用,這樣可以在每一頁自訂錯誤訊息,讓別人可以根據不同的問題看到不同的訊息。當然不能忘了【在Web.config自訂錯誤訊息頁】的方法。
我們把事件都寫進去了,那怎麼把事件顯示出來呢?請看【使用ASP.NET 顯示事件日誌紀錄】,裡面它把DataGrid拿來當作顯示介面使用。
Friday, January 16, 2009
#
brothersoft:ASP.net maker 3.3
官網下載:ASP.net maker 3.3
今天在看w3c school的ASP.net教學,裡面某一篇提到asp只會出到3.0版,並不會有之後的版本出現了,我當下覺得奇怪,印象中就有啊,於是到Google下了asp 4.0的關鍵字,結果證實的確是有的,我沒記錯。不過如果只是看到這樣的東西,我就不會寫這篇了。
在亂看的同時,不小心在brothersoft中看到這玩意ASP.net maker 3.3,就是.net的自動程式產生器,當下試玩了一下,當我把資料庫設定好,再進去它的程式中設定(因為第一次使用,花了比較久的時間),最後按下產生程式碼,前前後後不到十五分鍾,它就依我設定的資料庫產生好三層式架構程式出來,而且包含有資料庫的增刪修查、檔案格式的匯出以及許多細項設定,連登入都幫我產生好了,當下,只有一個想法…
我在幹什麼…我在幹什麼…我在幹什麼…我在幹什麼…
前兩天剛去聽完jBoss的高雄研討會,才剛剛被它的高品質高產量嚇到,Seam竟然給我拉一拉就完成需要花很久時間才能架好的站,還包括了AJAX也是在網頁拉一拉設定一下,連自然語言都可以拿來用,有夠強的。這次是被這種自動產生器嚇到,我學了這麼久,程式架構卻連它的精細度都達不成…
不過倒是也可以搭配它的後端,自己來寫前端元件…稍微…提高產量。 =_=
話說…學Java的人,不論是補習班老師還是主持人…聽到我是學.net的,都會露出奇怪的表情呢。
Thursday, January 08, 2009
#
原文:執行 ASP.NET 的其他選擇 - Cassini Web Server
之前公司經理一直很想把系統開發換成以Java為主,但經理離職後就沒有繼續主導Java了,不過在離職前,經理丟了個問題給我們,就是以未來的狀況看來,IIS其實並不是最好的選擇,有沒有其它的Web Server可以用呢?
這問題困惑了毛豆我好久,後來總算找到相關資料(已經關閉的優秀教學站~酷必網),就是用Cassini這個玩意,還沒試用過,不過在我的參考資料中,裡面有商業性版本,也就是說它有針對一些商業考量加了東西,哪天用Virtual PC灌來玩玩看吧。
下載點:microsoft asp.net官網、UltiDev Cassini Web Server