我期待創建一個可以與其他解決方案一起使用的小部件。小部件是可以放置在網站不同部分的競爭小部件。 這樣做的最好方法是什麼?我應該創建一個新的解決方案來執行此操作嗎?ASP.NET:如何創建可與其他解決方案一起使用的窗口小部件/用戶控件?
回答
創建一個新的類庫項目(如果適合,可以在您當前的解決方案中包含該項目)並在其中創建服務器控件。然後,您可以從您需要的任何網站引用此庫。
如果你想在其他項目中使用它,你需要創建一個Web控件,而不是一個用戶控件。這個問題詳細介紹了不同的控制類型,你會發現它有用: What is the difference between UserControl, WebControl, RenderedControl and CompositeControl?
下面是創建一個自定義的WebControl相對簡單的教程:
Create ASP.NET Server Controls from Scratch
這裏一些更高級的例子來自MSDN:
Developing Custom ASP.NET Server Controls
這取決於你是否真的在其他解決方案中使用它。如果是的話,那麼如果在每個小部件自己的用戶控件中創建一個新的小部件解決方案並將其編譯爲程序集,可能會更有意義。
然後,您只需引用該程序集並在標記中使用它。
如果你的小部件只用在一個單一的解決方案,那麼我不會打擾以上。只需在相同的解決方案中創建一個用戶控件。
與某些答案相反,您應該使用嵌入式資源創建用戶控件。
這樣做很複雜,但一旦你這樣做,你將能夠開發控制像RadControls
from Telerik。
如果你打開他們的控件,你會發現他們都是Telerik.Web.UI.dll
上的embedded resources
。
Here is an old answer of mine展示瞭如何加載控件以及如何除非你有一個很好的理由這樣做(比如創建一個通用的控制,日曆,網格或類似的東西處理嵌入資源(虛擬路徑提供)
)不要這樣,這是黑暗的,複雜的...但是,正如你可以看到它可能是值得的,Telerik.Web.UI
是這個可以解決的實例。
- 1. ListView與其他窗口小部件一起使用
- 2. 如何使整個asp.net解決方案作爲用戶控件
- 3. 如何創建我的asp.net web解決方案的用戶控件?
- 4. 使用QStackedLayout創建窗口小部件
- 5. 如何構建一個Alert窗口小部件asp.net窗體
- 6. ASP.NET - 創建可重用的小部件
- 7. 可與App Engine一起使用的驗證碼解決方案?
- 8. 如何使用ExpandableListView創建窗口小部件?
- 9. 爲VS2008解決方案創建VS2010解決方案文件
- 10. OpenGL和Direct3D如何與窗口中的其他窗口小部件一起播放?
- 11. 如何在Android上的其他窗口頂部創建窗口
- 12. 純HTML解決方案使用表格的動態小部件
- 13. 將ASP.NET Core解決方案與類庫一起部署到Azure
- 14. 如何讓FxCop與Sonar一起使用C#解決方案?
- 15. 如何訪問其他窗口控件
- 16. 如何使用QT/PyQt中的可點擊文本創建窗口小部件?
- 17. 如何連接UIPageControl,以便與其他控件一起使用?
- 18. 用戶控件中response.redirect的任何解決方案
- 19. 用其他解決方案替換New?
- 20. Qt窗口小部件似乎與其他窗口小部件重疊時,他們不應該
- 21. 使用jQuery和ASP.NET的可嵌入窗口小部件MVC
- 22. 創建與其他小部件自定義部件包括
- 23. 如何將其他解決方案的項目添加到新創建的解決方案中?
- 24. 將文件一個解決方案鏈接到另一個解決方案不起作用 - ASp.net MVC3
- 25. 創建一個解包窗口小部件
- 26. 如何使用Orchard中的內容部分列表創建窗口小部件?
- 27. 如何在WPF中創建自定義窗口用戶控件?
- 28. 可滾動的標籤欄小部件解決方案
- 29. 父窗口小部件如何定位其子窗口小部件?
- 30. WinRT - 如何從同一個解決方案中的其他項目使用自定義控件?