2011-05-23 53 views
0

我已经为我的项目添加了一个名为HomePageItem的Web用户控件,并且我试图以编程方式从名为LandingPage.aspx的页面创建它的新实例。由于某种原因该课程不可见。我只是得到,说的生成错误:无法从aspx页面引用UserControl

类型或命名空间名称“Controls_HomePageItem”找不到(是否缺少using指令或程序集引用?)

这是代码行我LandingPage.aspx文件:

Controls_HomePageItem hpi = new Controls_HomePageItem(); 

这里是整个HomePageItem.ascx文件:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Controls_HomePageItem : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

我试图把所谓的主页0命名空间中的控制 像这样:

namespace HomePage { 
    public partial class Controls_HomePageItem : System.Web.UI.UserControl 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
    } 
} 

然后引用该控制像这样在LandingPage.aspx HomePage.Controls_HomePageItem HPI =新HomePage.Controls_HomePageItem();

,我尝试using语句在顶部:

using HomePage; 

同样的问题依然。我甚至不能从LandingPage.aspx看到主页命名空间

请帮忙。
TIA

回答

0

你没有在那里的命名空间行吗?

之间的使用和公共部分类,应该有一个命名空间行。

+0

这就是文件是如何由VS2008创建的。但我会尝试手动快速插入它。 – n4rzul 2011-05-23 07:17:35

+0

@ n4rzul;你想在代码后面添加usercontrol? – 2011-05-23 07:18:28

+0

@穆罕默德:我想programmaticaly在我的一个页面中创建一个usercontrol的实例,但看不到该类。是的,它在我的页面后面的代码中,.cs文件,而不是aspx文件。 – n4rzul 2011-05-23 07:34:01

0

好的,发现问题。 该项目创建为一个网站,而不是一个Web应用程序。 Visual Studio不断在后台创建新的控件,但是由于某些引用的DLL被其他人从源代码管理中完全检出,所以出现了一个与我的构建有关的问题。该网站仍然会构建并运行,但是没有一个控件类正在生成。只要我解决了检出的DLL的源代码控制问题,我的控件就开始正常生成。

谢谢大家的回复。

1

我也有这个问题。我解决了它。当我将我的usercontrol的Register添加到aspx文件时,我可以在代码中引用usercontrol类。我只从代码创建我的用户控件,但需要注册。 PS:对不起,我的英文不好。