//用户控件
public partial class Usercontrol_PageIndex2 : System.Web.UI.UserControl
{
     private string _controlName = "";
     public string ControlName
     {
        get { return _controlName; }
        set { _controlName = value; }
     }
}//页面后台
public partial class CommunicationSpace : System.Web.UI.Page
{
    Usercontrol_PageIndex2 buc = (Usercontrol_PageIndex2)Page.LoadControl("PageIndex2.ascx");
    buc.ControlName = "aaa";//这样赋值没用,用户控件加载时ControlName还是空值
}
很困惑。希望有人指点迷津,谢谢

解决方案 »

  1.   

    会被刷新的 就不要用变量了啊用ViewState
            public string SelectedDay
            {
                get
                {
                    return ViewState["selectedDay"] == null ? DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day : ViewState["selectedDay"].ToString();
                }
                set
                {
                    ViewState["selectedDay"] = value;
                }
            }
      

  2.   


            Usercontrol_PageIndex2 buc = (Usercontrol_PageIndex2)Page.LoadControl("Usercontrol/PageIndex2.ascx");        buc.ControlType = "asdasdasdasdas";请问,是这样赋值吗?
    报错,未将对象引用到实例
      

  3.   

     public string ControlType
        {
            get { return ViewState["ControlType"].ToString(); }
            set { ViewState["ControlType"] = value; }
        }
      

  4.   

      <%@ Register Src="Usercontrol_PageIndex2 .ascx" TagName="Page" TagPrefix="uc1" %>
     这是你当前要引用用户控件页面的前台注册代码。
       
       有两种方式引用usercontrol的属性。   常规方式:userpage.ProcName
       
       前台页面赋值方式  
       <uc1:Page ID="userPage" runat="server"  ProcName="dep"/  ProcName='<%=dep%>' ProcNameCN="money"/>
      红色部分是你在usercontrol 里定义的属性
      
      

  5.   


    1。创建一个WebUserControl1.ascx 应该没有问题把
    2。在其中加入属性
    public string SelectedDay
            {
                get
                {
                    return ViewState["selectedDay"] == null ? DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day : ViewState["selectedDay"].ToString();
                }
                set
                {
                    ViewState["selectedDay"] = value;
                }
            }
    3.注册其到web页面
    <%@ Register Src="~/WebUserControl1.ascx" TagName="WebUserControl1" TagPrefix="uc2" %>  
    4.在页面中添加这个控件
    <uc2:WebUserControl1 ID="a" Visible=true EnableViewState=true runat="server" />
    5.给这个属性赋值a.SelectedDay = DateTime.Now.ToString();
    6.这40分我全要了
      

  6.   

    因为你在这里注册时候 已经设置他的ID了 比如ID="ctrlName"那么赋值就是 ctrlName.属性名=属性值;例如 ctrlName.SelectedDay = DateTime.Now.ToString();上边的我都是专门为你写的 作过测试的 绝对可以运行