[英]How to create Re-Usable web control library
問題背景:
大家好,我已經為雇主開發了Windows窗體應用程序大約3年了。 雖然我的大部分作品都是業余的。 我一直在使用Visual Studio C#,喜歡通過子類化和其他技術創建可重復使用的Windows窗體控件。 現在我的老板希望我為該公司創建網站,我的第一個想法就是創建可重復使用的WEB控件,就像windors表單應用程序一樣。
我嘗試過的方法
Web用戶控件 ,起初,我發現Visual Studio支持開發人員可以創建Web User Control
,文件擴展名為* .ascx。 我發現這一點非常令人興奮,因為我認為我可以像在Windows窗體應用程序開發中一樣創建Web控件。 但是,它是一個很大的“ BUT”,然后我發現它不能嵌入到程序集文件(DLL)中,並且可以在ToolBox中顯示以支持網頁設計時間的拖放。 來自msdn的AFAIK, Web User Control
不能在項目中重復使用。 所以我放棄了這種方法。
Server Control ,然后我發現可以創建Custom Server Control
來支持程序集嵌入和ToolBox。 這是一個* .cs文件,其中寫入了一個類,該類從System.Web.UI.WebControls.WebControl
或System.Web.UI.WebControls.CompositeControl
子類化。 好的一點是,這正是我想要的:可重用性和設計時支持。 但是,最大的缺點是在創建Web控件本身時不支持拖放。 該控件只能由用C#編寫的html呈現或由代碼創建。 如果要創建更漂亮,更復雜或更有效的控件,則必須在控件中嵌入css / javascript。 無論如何,從MSDN,我需要Server Control
。
純HTML,Javascript(jQuery),CSS ,實際上我一直在使用Server Control
方法一段時間,只是為了讓老板滿意。 但是我仍然不能停止思考其他更好的解決方案。 據我了解,網頁並不是那么復雜,它只是通過HTML tag
, javascript (or other scripting language)
, CSS to manipulate UI
構造CSS to manipulate UI
javascript (or other scripting language)
如果我錯了,請糾正我)。 因此,我相信如果我通過純HTML,Javascript和CSS創建Web控件,那么它當然會更加復雜,但兼容性更高。 因為Server Control
解決方案需要Web服務器支持.Net Framework,所以它不是免費的,並且僅限於Microsoft范圍。 如果我有辦法擺脫.Net,為什么不呢? 如果願意的話,我願意花兩倍的時間來創建可重用的控件。 例如,如果我想求助於PHP創建網頁,則可能必須掌握僅通過HTML,Javascript和CSS創建網頁控件的技術。
我的問題
綜上所述,是否甚至有可能僅基於HTML,Javascript和CSS創建我的Web控件庫?
如果是這樣,是否有關於此方法的教程?
我真的很想知道商業/專業公司如何創建網頁。
謝謝大家,任何建議將不勝感激!
嚴格來說,您已經習慣了支持上述功能的控件。 這將繼續在WebForms中創建的未來項目中進行。
但是,如果您涉足MVC,則會有很大的不同。 處理輸入的大多數控件是客戶端(可以包裝在js wigets和用戶驗證類中)。 另一方面,服務器控件很少,但是有_MasterLayouts和Views可以使用PartialViews, PartialView類似於Web用戶控件 。 在您的控制器中,您可以返回EditTemplates和其他與服務器控件類似的類型
經過幾天的探索,我幾乎放棄了只為Web小部件(UI)創建自己的javascript庫的方法,也不想使用第三方js框架,因為:
好吧,我不知道這是否是答案,但這是我個人問題的結尾。 非常感謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.