designer.cs在Visual Studio中使用用户控件的问题

时间:2011-12-30 08:08:27

标签: c# asp.net visual-studio-2010

在开发过程中,我有一个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

提前致谢......

2 个答案:

答案 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;
相关问题