在开发过程中,我有一个Web用户控件项目和另一个Web项目,它将使用Web用户控件项目中的用户控件。
因此,我将DocControl.ascx文件复制到我的Web项目,并尝试使用DocControl.ascx的属性。 但VS不知道控件的属性。因此,当我检查designer.cs时,引用就像那样
protected global::System.Web.UI.UserControl Control;
哪个应该是
protected global::MSN.DocControl Control;
所以我将控件的名称从 System.Web.UI.UserControl 更改为 MSN.DocControl ,我可以使用DocControl.ascx的属性。< / p>
但是我的问题是每当我修改(例如,在aspx中放置一个标签)aspx文件时,designer.cs中的引用变为
protected global::System.Web.UI.UserControl Control;
每当我修改我的aspx时,我都必须更改它。
我该怎么办,所以我不需要更改designer.cs
提前致谢......
答案 0 :(得分:3)
我通过移动
解决了这个问题protected global::MSN.DocControl Control;
从designer.cs到.cs页。
因此,无论何时进行任何更改,都可以。
@kokbira - &gt;希望它对你有所帮助。
答案 1 :(得分:1)
就我而言,我的注册行中是一条糟糕的src路径。这不会导致错误消息,但会生成通用控件而不是特定类,并且您描述的症状相同。
我有这个(它有错误的Src路径):
<%@ Register TagPrefix="uc" TagName="Pipes" Src="/Controls/Pipes.ascx" %>
...
<uc:Pipes id="ucPipes" runat="server" />
并且它生成了这个,它是通用的,并且没有控件的属性:
protected global::System.Web.UI.UserControl ucPipes;
当我使用Category文件夹执行正确的路径时,它可以工作:
<%@ Register TagPrefix="uc" TagName="Pipes" Src="/Category/Controls/Pipes.ascx" %>
...
<uc:Pipes id="ucPipes" runat="server" />
并生成了这个正确的,所以所有属性都有效:
protected global::Company.Category.Controls.Pipes ucPipes;