我已将一个名为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
答案 0 :(得分:1)
我也有这个问题。我解决了当我将我的usercontrol的Register添加到aspx文件时,我可以在代码中引用usercontrol类。我只从代码创建我的usercontrol,但需要注册。
PS:对不起我的英文。
答案 1 :(得分:0)
你那里没有命名空间行吗?
在using和public partial class之间,应该有一个命名空间行。
答案 2 :(得分:0)
好的,发现了这个问题。 该项目是作为网站创建的,而不是Web应用程序。 Visual Studio在后台不断构建新的控件,但是我的构建存在一个问题,因为一些引用的DLL仅由其他人从源代码控制中检出。该网站仍然会构建和运行,但是没有生成任何控件类。一旦我用已检出的DLL解决了源代码控制问题,我的控件就开始正常构建。
感谢大家的回复。