我正在尝试在Visual Studio 2012 / ASP.Net / C#中动态创建用户控件,但是当我尝试在任何其他aspx后面的代码中使用它时,我的项目无法识别我的用户控件的类型名称ascx页面。我已经尝试过重建它并删除名称空间,看起来它应该可以正常工作,但事实并非如此!
我的ascx文件的第一行是:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="AG_Controls_WebUserControl" %>
相应的代码隐藏看起来像这样:
public partial class AG_Controls_WebUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
我尝试在像这样的空白aspx页面的代码中声明它的实例:
AG_Controls_WebUserControl test = new AG_Controls_WebUserControl();
我得到:
错误3类型或命名空间名称'AG_Controls_WebUserControl'可以 找不到(你错过了使用指令或程序集 参考?)
这是漫长的一天,我很累但这不应该是火箭科学,但我看不出问题是什么。非常感谢!
答案 0 :(得分:1)
您忘记在ASPX页面中包含对控件的引用。如果要在后面的代码中动态创建控件,则仍需要包含该引用。
<%@ Register src="WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %>