發表文章

目前顯示的是 6月, 2013的文章

在Web Form專案中使用Rzaor上Azure WebSites的問題

圖片
先不談問何需要在WebForm當中使用Razor WebPages,這一篇主要還是討論到的問題和解決的方法。 首先要在WebForm中使用Razor不是太大的問題,建立一個HTML Page把副檔名直接改cshtml即可: 接著我們就可以撰寫Razor語法了(我找一天完整一點介紹Razor以及他的意義,但還沒寫之前,gelis的 這一篇 不錯,如果你喜歡讀英文,可以看 這篇 )。 OK,撰寫一段簡單的程式碼如下,結果一執行,馬上發生錯誤: 我們很乖的依照指示,到web.config中改成: <configuration> <appSettings> <add key="webPages:Version" value="2.0"/> </appSettings> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> </configuration> OK,可以work囉。 但悲劇發生在上Azure WebSites時: 本來以為是Azure websites看不懂cshtml,還我改了一陣子MIME設定,後來想想不對,如果看不懂就應該不能run MVC 的razor才對,所以又轉往另一個方向嘗試,折騰了半天,原來Azure websites尚未支援2.0。 立馬到Azure WebSites設定畫面調整看看: 設定完成之後,搞定囉。 cshtml的razor頁面可以混在WebForm中上Azure囉... 先寫到這邊(其實還有一個在cshtml page中存取資料的問題...改天繼續) ================================== 沒事幹嘛在ASP.NET WebForm中混入Razor呢? 其實我也有點掙扎。 這一陣子有個案子是以MVC來設計,開發的同仁跟我說,選用MVC其中一個原因是他討厭WebForm中的WebControl,總是沒有辦法隨心所欲的調整UI,不管套入CSS或...

ASP.NET Reporting - 如何讓SSRS中TextBox的Go To URL Action中跳新視窗

圖片
SSRS對於ASP.NET開發人員來說實在是一個很好的工具,畢竟,對很多MIS/IT所服事的大老闆來說,資訊系統 唯一 的價值,其實就是那一份份的報表。 如果你有用SSRS,一定會發現文字方塊是可以設定成超連結的,關鍵在於TextBox的Action屬性,只需要設定成Go To URL,然後在Select URL那邊放入網址即可: 但你找了半天,居然沒有可以設定點選該URL的Target設定位置,那...如果要開新視窗怎麼辦呢??? 好問題!!! 其實,這個Go To URL有一個更有趣的設定,可以解決這些問題,你可以直接在Select URL中,輸入底下內容: 沒想到,居然可以輸入JavaScript,如此一來,在報表中點選該連結,就可以開新視窗囉。 ============================================================= 既然可以開新視窗,那可不可以更進一步的??? 答案也是可以的,SSRS真是個好物。

ASP.NET WebForm Forms驗證整合Google oAuth驗證

圖片
ASP.NET從4.x開始,支援不少重要的機制,也不知道是因為用的人變少了,還是因為大家都沒空,所以ASP.NET WebForms相關的中文post比起其他技術相形之下少的可憐。 最近開發團隊中有夥伴需要透過ASP.NET WebForm來整合Google/Faccbook/MS的身分驗證,當然,我們都知道現在大家都支援 oAuth 或 OpenID 了,最理想的狀況是讓我們家的網站跟MS自己的網站一樣,User只需要登入一次,就可以跨網站跑來跑去不需要重新登入,同時,我們的網站也不需要負責維護用戶的帳號密碼,而是透過Google/Faccbook/MS幫我們做身分驗證。 (有空我會畫張圖,上面這張是出自oauth.net) 簡單的說,就是我們的網站的用戶只需要有Google/Faccbook/Microsoft Account等帳號,即可登入我們的網站,而我們的網站也不需要傷腦筋身分驗證的事情,畢竟,驗證是一個可能導致風險的機制,也是駭客進入你的網站的第一道防線,如果隨意設計可能後患無窮,與其自己辛苦,不如透過oAuth機制幫你驗證用戶身分。 前面說過,在ASP.NET要實現這樣的功能,從4.0之後的版本,大幅簡化了工作流程,甚至,你現在只需要透過DotNetOpenAuth.AspNet套件即可完成。 我們以底下這個ASP.NET WebForm 4.0與Google帳號整合的驗證機制來示範,我們建立一個新的WebForm網站: 我刻意用ASP.NET Empty Web Application,因為這個範本比較乾淨,甚至連app_start都沒有,這樣比較容易說明。 接著,請進入到我們的ASP.NET專案,在VS2012中開啟Package Manager Console(主選單--> Tools --> Library Package Manager --> Package Manager Console),並依序輸入: Install-Package Microsoft.AspNet.Membership.OpenAuth   和 Install-Package DotNetOpenAuth.AspNet 輸入後,VS2012會執行一些動作... 你會發現Visual...