如何在網頁中內嵌 .NET User control
這是上個月在MSDN "教學短片" 所分享的一個技巧,由於我所在的部門(GTSC - Global Technical Support Center),現在叫做CSS (Customer Service and Support),主要以提供客戶技術服務為主(是做服務,但偶爾也要做做功德)。因此我們會不定期的整理客戶常問的問題,並透過不同的管道(如Microsoft 技術支援服務首頁,MSDN教學短片網站等等)。而最近最常被問到的,就是這個問題。
其實客戶會問這個問題是有原因的,因此Visual Basic 6, 這個全球超過百萬開發人員在使用的語言版本,已經在今年的4/8正式引退,微軟不再對Visual Basic 6 提供技術支援。另外一個比較困擾人的是VB6 runtime的部份。VB6的runtime(msvbvm60.dll)仍然被內建在後續的作業系統中(Windows Vista / Windows Server 2008),在這篇文章中有非常詳細的說明。也正因為如此,以前我們常常在網頁中使用的ActiveX元件,目前可被支援的技術剩VC++及.NET。
回到正題,對這個技術有興趣的朋友,可以參考一下底下的圖片連結(還有範例的程式可以下載):
這個影片包含2個範例,第一個範例示範如何讓網頁與.NET的user control進行互動,所謂的互動,就是.NET的user control可以接受來自網頁所傳過來的參數,或是由網頁來接收或取得user control的屬性。 第二個範例是將.NET 的ReportViewer控制項放在user control裏,然後再放到網頁中,這樣的好處是可以享受Windows 控制項所帶來的優點,例如分頁及列印的能力 (在Web ReportViewer控制項, 要去實作分頁有點麻煩,使用page-break 不見得能很精準的在指定的筆數進行分頁)