将用户控件添加到asp.net页面

时间:2012-06-02 14:26:44

标签: c# asp.net user-controls asp-usercontrols

我用这样的事件创建一个用户控件:

public partial class Person : System.Web.UI.UserControl
{
    public delegate void EditPersonHandler(object sender, EditPersonEventArgs e);
    public event EditPersonHandler EditPerson;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

这是我的EditPersonEventArgs:

 public  class EditPersonEventArgs:EventArgs
{
    private int id;

    public int ID
    {
        get { return id; }
        set { id = value; }
    }
    public EditPersonEventArgs(int ID)
    {
        id = ID;
    }

}

现在我想将此用户控件添加到我的页面,我这样做:

<%@ Register TagPrefix="UControl" TagName="UControlPerson" Src="~/SimpleUC/Person.ascx" %>

<div>
    <UControl:UControlPerson ID="UControlPerson" runat="server"
                             OnEditPerson="UControlPerson_EditPerson" />
</div>

这是我的函数来处理OnSavePerson

protected void UControlPerson_EditPerson(object sender, EditPersonEventArgs e)
    {

    }

我构建了解决方案。 但是当我渲染页面时,我收到了这个错误:

Description: An error occurred during the compilation of a resource required to service this
request. Please review the following specific error details and modify your source code 
appropriately. 


Compiler Error Message: CS0426: The type name 'SimpleUC' does not exist in the type 
'System.Web.UI.UserControl'

这是我的名字空间:  namespace UserControl.SimpleUC

1 个答案:

答案 0 :(得分:1)

您遇到名称空间冲突,用户控件名称空间UserControl的{​​{1}}部分正在被解析为名称空间UserControl.SimpleUC

解决此问题的最简单方法是为控件选择另一个命名空间。可能类似System.Web.UI.UserControl

之类的东西