我正在考虑构建一些Web用户控件,着眼于重用,但我似乎无法在VS2008的类库中添加Web用户控件.有没有办法解决这个问题,还是有更好的方法来创建可重用的控件?
您可以创建封装所需功能的Web用户控件或Web自定义控件.两个控件之间的主要区别在于易于创建与易于在设计时使用.
您应该考虑创建Web自定义控件库.有一个演练使用Web控件库模板创建Web自定义控件.
根据MSDN文章" Web用户控件与Web自定义控件的建议 ",这两种控件之间存在差异:
Web用户控件很容易制作,但在高级场景中使用它们可能不太方便.您开发Web用户控件几乎与开发Web窗体页面的方式相同.与Web窗体一样,用户控件可以在可视化设计器中创建,可以使用与HTML分离的代码编写,并且可以处理执行事件.
但是,由于Web用户控件是在运行时动态编译的,因此无法将它们添加到工具箱中,并且在添加到页面时它们由简单的占位符字形表示.如果您习惯于完整的Visual Studio .NET设计时支持(包括"属性"窗口和"设计"视图预览),则会使Web用户控件更难使用.
此外,在应用程序之间共享用户控件的唯一方法是在每个应用程序中放置一个单独的副本,如果对控件进行更改,则需要更多维护.
Web自定义控件是编译代码,这使得它们更易于使用,但更难以创建; 必须在代码中创作Web自定义控件.但是,创建控件后,可以将其添加到工具箱中,并将其显示在具有完整"属性"窗口支持和ASP.NET服务器控件的所有其他设计时功能的可视化设计器中.
此外,您可以在全局程序集缓存中安装Web自定义控件的单个副本,并在应用程序之间共享它,这使维护更容易.有关更多信息,请参阅全局汇编缓存