我在用户控件里面加了几个web控件,其中一个txtUser,然后声明属性Name代码如下
public string Name
{
get
{
return txtUser.Text; }
set
{
txtUser.Text=value;
}
}
在aspx页面引用的时候,也加了
protect myUserControl uc=new........
可是在aspx页面一用按纽提交,却得不到
uc.Name的值(类似其他的几个属性也不行),出错如下
System.NullReferenceException: 未将对象引用设置到对象的实例。
请问是什么原因的呢,谢谢,我想要实现就是在页面上通过属性得到或设置用户控件里面控件的值的呀

解决方案 »

  1.   

    例如:
    在aspx文件:
    <form id="Form1" method="post" runat="server">
    <uc1:HeaderTitle id="HeaderTitle1" runat="server"></uc1:HeaderTitle>
    </form>
    cs文件:
    public HeaderTitle HeaderTitle1;//不要加new
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    HeaderTitle1.str = "aspx";
    }
      

  2.   

    youusercontrol xx = Page.Findcontrol("youascxid") as yourusercontorl;
    xx.name
      

  3.   

    UserControl不能通过new就能够在在页面使用,最简单得方法,直接将用户控件拖进Page,然后在后台用xiahouwen(武眉博<活靶子.NET>) 方法或得控件对象。
    再者,也可以用new 一个,然后用Panel得Controls.Add方法添加进去