【发布时间】:2015-09-05 14:58:45
【问题描述】:
试图将一个通用的自定义控件移动到一个新的类库中(也尝试了一个新的 web 项目),以便其他项目可以使用它,但它的属性在另一个项目中使用时始终为 NULL。不幸的是,搜索类似的问题无助于解决我的问题。
我将 web.base.config 中的新控件注册到 Project-A
<add tagPrefix="Controls" namespace="Comp.UserWebControls.Controls" assembly="Comp.UserWebControls" />
Comp.UserWebControls 作为项目引用添加到 Project-A 中(我也尝试将构建 dll 作为引用添加到 Project-A 中,没有区别)
标记看起来像
<asp:Content ID="Content4" ContentPlaceHolderID="RightPlaceHolder" runat="server">
<Controls:uxMyControl ID="TestingThing" runat="server" />
在后面的代码中,“TestingThing”控件被实例化了,但所有属性都是空的(标签、文本框等)
通常,如果控件在同一个项目(Project-A)中,那么我会像这样注册控件:
<add tagPrefix="Contols" tagName="uxMyControl" src="~/Controls/uxMyControl.ascx"/>
在代码隐藏中,控件对象看起来不错,属性已实例化并按预期工作。
在使用程序集时我不能使用src="myPath",所以我认为这与它有关。
如何将此控件分离到新的程序集/项目/解决方案中,以便其他项目可以使用它。
任何帮助将不胜感激!
【问题讨论】:
-
您是否已将
.ascx文件本身包含到要使用自定义控件的其他项目中? -
@ChandanRoy - 是的,我将用户控件全部移到了新项目中。我会检查那个链接谢谢
标签: c# html asp.net .net webforms