2009-10-01 30 views
4

我在创建一些需要编译为独立dll而不是主应用程序的自定义控件。不幸的是,到目前为止,这意味着在不使用设计器的情况下手动创建控件,因为afaik不能将用户控件作为独立组件编译。因为通过这种方式使得设计者在不对开发者部分付出很多努力的情况下对控件进行设计很难,所以我想知道是否实际上有一种可行的方法来将.ascx样式控件编译为独立的二进制文件?使用.ascx文件创建自定义控件

回答

3

您可以将用户控件转换为独立.dll中的自定义控件,但它失去了通过标记进行更新的能力。

换句话说,您可以使用标记和代码构建.ascx文件,然后将其转换为类似于仅由代码构建的控件。

Turning an .ascx User Control into a Custom Control

你要明白,用户控件仅仅是可重复使用的内容的便利性,但 - 最终,标记不会得到处理和编译。自定义控件是分发Web控件的唯一方法。如果你不得不把控件作为一个库来分发,我会专注于让你的开发者只用几个布局控制属性来使它们更友好,而不是搞乱.ascx。

+0

当您使用上述技术时,DLL文件的命名是可怕的。要解决这个问题,请使用命令行中的'aspnet_merge '而不用选项。这将把每个目录变成一个DLL,其下的所有ASCX:http://msdn.microsoft.com/en-us/library/bb397866.aspx – Abel