簡體   English   中英

如何創建可重復使用的Web控件庫

[英]How to create Re-Usable web control library

問題背景:
大家好,我已經為雇主開發了Windows窗體應用程序大約3年了。 雖然我的大部分作品都是業余的。 我一直在使用Visual Studio C#,喜歡通過子類化和其他技術創建可重復使用的Windows窗體控件。 現在我的老板希望我為該公司創建網站,我的第一個想法就是創建可重復使用的WEB控件,就像windors表單應用程序一樣。

我嘗試過的方法

  1. Web用戶控件 ,起初,我發現Visual Studio支持開發人員可以創建Web User Control ,文件擴展名為* .ascx。 我發現這一點非常令人興奮,因為我認為我可以像在Windows窗體應用程序開發中一樣創建Web控件。 但是,它是一個很大的“ BUT”,然后我發現它不能嵌入到程序集文件(DLL)中,並且可以在ToolBox中顯示以支持網頁設計時間的拖放。 來自msdn的AFAIK, Web User Control不能在項目中重復使用。 所以我放棄了這種方法。

  2. Server Control ,然后我發現可以創建Custom Server Control來支持程序集嵌入和ToolBox。 這是一個* .cs文件,其中寫入了一個類,該類從System.Web.UI.WebControls.WebControlSystem.Web.UI.WebControls.CompositeControl子類化。 好的一點是,這正是我想要的:可重用性和設計時支持。 但是,最大的缺點是在創建Web控件本身時不支持拖放。 該控件只能由用C#編寫的html呈現或由代碼創建。 如果要創建更漂亮,更復雜或更有效的控件,則必須在控件中嵌入css / javascript。 無論如何,從MSDN,我需要Server Control

  3. 純HTML,Javascript(jQuery),CSS ,實際上我一直在使用Server Control方法一段時間,只是為了讓老板滿意。 但是我仍然不能停止思考其他更好的解決方案。 據我了解,網頁並不是那么復雜,它只是通過HTML tagjavascript (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創建網頁控件的技術。

我的問題

  1. 綜上所述,是否甚至有可能僅基於HTML,Javascript和CSS創建我的Web控件庫?

  2. 如果是這樣,是否有關於此方法的教程?

  3. 我真的很想知道商業/專業公司如何創建網頁。

謝謝大家,任何建議將不勝感激!

  1. 綜上所述,是否甚至有可能僅基於HTML,Javascript和CSS創建我的Web控件庫?

嚴格來說,您已經習慣了支持上述功能的控件。 這將繼續在WebForms中創建的未來項目中進行。

但是,如果您涉足MVC,則會有很大的不同。 處理輸入的大多數控件是客戶端(可以包裝在js wigets和用戶驗證類中)。 另一方面,服務器控件很少,但是有_MasterLayouts和Views可以使用PartialViews, PartialView類似於Web用戶控件 在您的控制器中,您可以返回EditTemplates和其他與服務器控件類似的類型

經過幾天的探索,我幾乎放棄了只為Web小部件(UI)創建自己的javascript庫的方法,也不想使用第三方js框架,因為:

  1. 花費太多時間:正如它所說:“不要重新發明輪子”,好吧,我半點接受/不同意這一點。 但是現在,我只是沒有太多時間。 這真的很浪費時間,幾乎每個人都無法完成。
  2. @dandavis評論說,很多javascript框架都很棒,例如dojo,yui,jqui,但是,至少對於我(作為js初學者),尤其是dojo的用法很難。 Dojo非常強大,AFIAK,但是很難實現和使用。 我按照官方教程創建了自己的Web小部件,花了一個小時才完成。 我可能會放棄得太快?
  3. 我仍然想用ajax挖掘asp.net,它非常強大。 並且可以輕松地在服務器端進行操作。

好吧,我不知道這是否是答案,但這是我個人問題的結尾。 非常感謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM