ASP.NET:如何创建可与其他解决方案一起使用的窗口小部件/用户控件?

时间:2011-11-08 09:05:59

标签: asp.net widget servercontrol

我希望创建一个可以与其他解决方案一起使用的小部件。小部件是一个竞争小部件,可以放置在网站的不同部分。 做这个的最好方式是什么?我应该创建一个新的解决方案来保持这个吗?

5 个答案:

答案 0 :(得分:1)

创建一个新的类库项目(如果适合,可以在当前的解决方案中使用它)并在那里创建服务器控件。然后,您可以从您需要的任何网站引用此库。

答案 1 :(得分:1)

如果要在其他项目中使用它,则需要创建Web控件而不是用户控件。这个问题详细介绍了不同的控件类型,您可能会发现它很有用: What is the difference between UserControl, WebControl, RenderedControl and CompositeControl?

答案 2 :(得分:1)

这是一个关于创建自定义WebControl的相对简单的教程:
Create ASP.NET Server Controls from Scratch

这里有一些来自MSDN的更高级的例子:
Developing Custom ASP.NET Server Controls

答案 3 :(得分:0)

这取决于你是否真的会在其他解决方案中使用它。如果您是,那么如果可能更有意义创建一个新的小部件解决方案,每个小部件都在其自己的用户控件中并将其编译为程序集。

然后您只需引用该程序集并在标记中使用它。

如果您的小部件仅用于单个解决方案,那么我不会打扰上述内容。只需在同一解决方案中创建用户控件即可。

答案 4 :(得分:0)

与某些答案相反,您应该使用嵌入资源创建用户控件。

这样做很复杂,但是一旦你这样做,你就可以开发像RadControls from Telerik这样的控件。

如果您打开控件,您会在embedded resources上看到它们都是Telerik.Web.UI.dll

Here is an old answer of mine,展示了如何加载控件以及如何处理嵌入式资源(虚拟路径提供程序)

除非你有充分的理由这样做(比如创建一个通用控件作为日历,网格或类似的东西)不要这样,它是黑暗的,复杂的...但是你可以看到它可能值得的是,Telerik.Web.UI是可以解决这个问题的实例。