Web Site中使用Web User Control

摘要:Web Site中使用Web User Control

今天同事於Web站台中使用Web UserControl時,加入的控件編譯總會出現如圖的錯誤:

錯誤進入後在:

開個新Web User Control之後比較一下:

可以看到紅色框框的地方不一樣

上網查了一下,發現這是用法不同所造成的:

在Visual Studio中有兩種網站的專案格式:Web Site與Web Application Project

ascx中使用 @Page CodeFile="xxx.aspx.cs" ,此cs由 Server 的 Asp.Net 來負責Compilation成Assmebly 後再執行 Web Application Project 的 aspx.

ascx中使用的是 @Page CodeBehind="xxx.aspx.cs",則此cs由 Visual Studio 負責Compilation成Assembly,部署到Server 後,再交由 Asp.net 執行.

所以當你要在WebSite中使用Web User Control時,要把原本Web Application Project中生成的Web User Control.ascx裡的CodeBehind tag改為CodeFile,即可正確編譯。

另可參考:msdn.microsoft.com/zh-tw/library/ms227671(VS.80).aspx - HOW TO:將使用 CodeBehind 屬性的 ASP.NET 1.1 Web 網頁移轉至 ASP.NET 2.0