2011-12-30 64 views
5

在我的开发过程中,我有一个Web用户控件项目和另一个Web项目,它将使用来自Web用户控件项目的用户控件。designer.cs在Visual Studio中使用用户控件的问题

因此,我将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的属性。

但我的问题是,每当我修改(例如把拉布勒在ASPX)ASPX文件,在designer.cs参考变得

protected global::System.Web.UI.UserControl Control; 

所以我必须改变它,每当我修改我的aspx。

我应该怎么做,所以我不需要改变designer.cs提前

感谢......

+0

您是否传播了对designer.cs文件中的更改?还要确保其他文件没有引用旧的保护值 – MethodMan 2011-12-30 08:17:59

+0

@DJKRAZE - 你是什么意思传播?对不起,我不明白。 – kevin 2011-12-30 08:29:32

+0

你是否在引用受保护的global :: System.Web.Ui.UserControl的所有位置进行更改?你可以做CTRL + F并在所有文件或整个项目中找到 – MethodMan 2011-12-30 08:34:47

回答

3

我已经通过移动

protected global::MSN.DocControl Control; 

解决它from designer.cs到.cs页面。

因此,无论何时您做出任何更改,都可以。

@kokbira - >希望它可以帮助你。

+0

这帮了我:D – spankmaster79 2014-10-21 13:01:16

+0

很高兴听到它! :) – kevin 2014-10-27 02:17:19

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; 

当我做了正确的路径,与类别文件夹,它的工作:

<%@ Register TagPrefix="uc" TagName="Pipes" Src="/Category/Controls/Pipes.ascx" %> 
... 
<uc:Pipes id="ucPipes" runat="server" /> 

并生成此正确的一个,因此所有属性都起作用:

protected global::Company.Category.Controls.Pipes ucPipes; 
+0

另请参阅此答案以获取不良代码隐藏名称。 http://stackoverflow.com/a/7001793/292060 – goodeye 2014-03-19 23:17:55

相关问题