我已经使用了一个常规的.cs文件,该文件仅扩展了System.Web.ui.usercontrol,然后包括包含控件的项目的组件,该项目包含控件到其他项目中。我还在一个项目中创建了.ascx文件,然后从属性 - > build Events-> pre-Build事件中的指定文件夹中复制所有ASCX文件。

现在我想做的是这两个的组合:我希望能够在我的所有其他项目中使用我在一个项目中构建的ASCX文件,但我想将它们包括在内它们是我的“次要”项目,因为这似乎是贫民窟的方法来完成我想做的事情。它有效,但是不是很优雅。

谁能让我知道这是否可能,如果是这样,那么最好的方法是什么?

有帮助吗?

解决方案

从根本上讲,用户控件永远不会在项目中共享。如果要创建可以在项目中重复使用的控件,则应创建将其编译到DLL中的服务器控件,这些控件可以简单地由其他项目引用。

开发自定义ASP.NET服务器控件

其他提示

本文: http://webproject.scottgu.com/csharp/usercontrols/usercontrols.aspx 有一个有用的前构建想法,可以复制开发过程中所需的控件。

复制$(solutiondir) myusercontrollibrary*.ascx $(projectDir) usercontrols

我知道这个问题已经得到回答,但是我们的一位客户使用了Sitefinity,我们为用户控件提供了编译的DLL文件,然后他们在CMS系统中配置该文件。据我所知,它运作良好。

为此,我们在ASP.NET网站(不是Web应用程序)中创建用户控件,并使用预编译和“使用固定的汇编名称”选项发布该站点。然后,我们将与ASCX文件关联的DLL分配给客户端,并根据需要导入。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top