我期待创建一个可以与其他解决方案一起使用的小部件。小部件是可以放置在网站不同部分的竞争小部件。 这样做的最好方法是什么?我应该创建一个新的解决方案来执行此操作吗?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 - 如何从同一个解决方案中的其他项目使用自定义控件?