The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

ASP.NET MVC 5 搭配 EF6 無法啟用 MvcBuildViews 建置檢視頁面的解法

今天在示範 MSBuild 如何設定 MvcBuildViews 屬性時,發現只要有 *.edmx 存在於專案中,建置的時候就會導致出現 Could not load type 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider' 的問題,這個問題想從 Visual Studio 2019 裡面很難看出個端倪,必須改用 MSBuild 才能看出脈絡。今天這篇文章,我將分享這個問題的細部分析,並提供解決方案。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (27):讓 Razor 在 HTML 屬性中輸出 @ 符號

我們有個 ASP.NET MVC 專案上周在做程式碼安全性檢查 Code Review 時,發現開發人員在 Razor 頁面中使用了一些 @Html.Raw() 輸出未經 HTML 編碼的內容,正常來說,在 ASP.NET MVC 網站應用程式中,不應該太過頻繁地出現這種用法,所以只要看到就會特別查看一下,這才發現原來 Razor 從 V2 版開始,就存在著這個小問題 (Bug),所以大家還是要注意一下。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (26):關於 Razor 的運作原理與改進特性

ASP.NET MVC 3 開始提供的 Razor V1 改變了以往使用 WebFormView 的寫作習慣,讓我們在 檢視頁面 (View Page) 中的 HTML 與伺服器端的語法 (Razor) 混和得更漂亮,不再有醜陋的 <% … %> 符號了。然而從 ASP.NET MVC 4 開始,在 Razor 推出了第二版,有許多增強的特性,本篇文章將介紹這些增強的特性。而到了 ASP.NET MVC 5 推出了 Razor V3 版,這版只有修正一些程式錯誤,並沒有功能增強。

... 繼續閱讀 ...

ASP.NET MVC 5 專案如何使用 C# 6.0 進行開發

由於 C# 6.0 採用全新 Roslyn 編譯器平台,想必有不少人躍躍欲試,基本上 C# 版本與 .NET Framework 版本並沒有絕對的關連性,像本次 C# 6.0 所提供的都是編譯器的特性,對 .NET Framework 的相依性沒有這麼大,因此無論你用 .NET Framework 4.5 或 .NET Framework 4.6 都可以使用 C# 6.0 進行編譯,只是在切換版本的過程中要小心,還是有些地雷會遇到,本篇文章整理了一些我曾經遇到的問題與解決方法,供大家參考。

... 繼續閱讀 ...

Visual Studio / C# / ASP.NET MVC / SQL Server 新手上路之學習資源整理

遙望十多年前,我剛出社會的時候,拿著我在大學時期接案的 74 件作品與大學四年的程式開發經驗進入職場,當時所學會的東西跟現在比起來可謂是九牛一毛,在累積了幾年的經驗之後,回頭看見有許多莘莘學子還在為了該學些甚麼而困擾,這便萌生這篇文章的契機,希望整理一些適合新手上路的學習資源,讓大家更有方向的踏入 .NET 開發生涯。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (23):反向表列路由限制的語法

我曾經在【ASP.NET MVC 開發心得分享 (21):Routing 觀念與技巧】這篇文章中分享過幾個路由開發技巧,其中在【技巧 1:替 Routing 網址設立條件限制】的部分有示範如何透過簡單的 RegEx 規則運算式 (正則表達式) 來限制路由變數的內容規則。不過,通常你在網路上能查到的這些 路由限制 (Route Constraints) 範例,大多使用「正向表列」的方式進行比對,這的確在大部分開發情境下都是這樣用的,但在特定比較少見的開發情境下,你或許需要「反向表列」的方式來限定路由參數的比對規則,尤其是在 ASP.NET MVCASP.NET HttpHandler 混合執行的情況下,更容易遇到這樣的問題。

... 繼續閱讀 ...

ASP.NET MVC 使用 Html.BeginForm 預設多載引發的問題

最近因為有客戶要求將網站部署到 Windows Azure WebSites 雲端平台,原本在開發環境測試都沒什麼狀況,反而是部署到 Windows Azure WebSites 之後才發現一個棘手的問題,一般網頁瀏覽並不會有問題,而是當使用 IE 瀏覽器,且有表單要送出資料時就會發生 502 - Web server received an invalid response while acting as a gateway or proxy server. 的問題,這才發現一個 ASP.NET MVC 的小臭蟲(Bug)。

... 繼續閱讀 ...

在 ASP.NET MVC 使用 @Html.ActionLink 所發生的詭異現象

上上禮拜同事在開發一個 ASP.NET MVC 專案時遇到一個詭異問題,就是在 View 裡面輸出超連結時竟然會多出詭異的查詢字串(QueryString),他使用標準的 @Html.ActionLink 輔助方法輸出 <A> 超連結時,竟然有些超連結的尾巴會加上 ?Length=4 這個查詢字串,但是在 ASP.NET MVC 的 View 裡根本就沒這樣設定。然而上週在台中教授 ASP.NET MVC 課程,竟然也有學員再次遇到相同的問題,我猜想這可能是初學者都會遇到的常見問題,特別寫文章來提醒各位。

... 繼續閱讀 ...