无法从aspx页面引用UserControl

时间:2011-05-23 07:05:37

标签: c# asp.net controls

我已将一个名为HomePageItem的Web用户控件添加到我的项目中,我正在尝试以编程方式从名为LandingPage.aspx的页面创建一个新的实例。由于某种原因,该课程不可见。我刚收到一个构建错误:

找不到类型或命名空间名称'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)
    {

    }
}

我尝试将控件放在名为HomePage的命名空间中 像这样:

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 = new HomePage.Controls_HomePageItem();

我在顶部尝试了一个使用声明:

using HomePage;

同样的问题。我甚至无法从LandingPage.aspx

中看到HomePage命名空间

请帮助。
TIA

3 个答案:

答案 0 :(得分:1)

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

PS:对不起我的英文。

答案 1 :(得分:0)

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

在using和public partial class之间,应该有一个命名空间行。

答案 2 :(得分:0)

好的,发现了这个问题。 该项目是作为网站创建的,而不是Web应用程序。 Visual Studio在后台不断构建新的控件,但是我的构建存在一个问题,因为一些引用的DLL仅由其他人从源代码控制中检出。该网站仍然会构建和运行,但是没有生成任何控件类。一旦我用已检出的DLL解决了源代码控制问题,我的控件就开始正常构建。

感谢大家的回复。