用户控件中有一个Lable,
我在父页面传参数,这个参数是根据父页面重数据库中取出来后传给这个用户控件的Label中,我原来是在用户控件中定义属性后,用户控件定义的属性:
public string Title
{
set{Lable1.Text=value;}
}
在父页面:
<uc1:Comment id="Comment_aa" Title=“<%=aa()%>" runat="server"></uc1>
在父页面的cs文件中
public string aa()
{
return "我晕,搞了一天,显示了没?";
}
但用户控件中的Lable是空值.我知道这是为什么,因为有执行先后顺序的问题,
那有没有其它好方法实现这个功能呢?

解决方案 »

  1.   

    怎么看不懂,
    web控件标签里可以Title=“<%=aa()%>"??
    应该要在page_load里Comment_aa.title=aa();
      

  2.   

    船只的办法就那几种:
    Session
    Cookies
    Server.Transfer
    ………………
    换一个试试
      

  3.   

    在用户控件中定义
    public string title;
    在父页面中
    Comment youname=(Comment)Page.FindControl(Comment_aa);
    youname.title="数据库中的";应该是这样把!
      

  4.   

    Comment youname=(Comment)Page.FindControl(“Comment_aa”);
      

  5.   

    //以下为动态加载用户控件的实现代码,若为静态,应该更简单一点吧TestCtl.ascx.cspublic class TestCtl : System.Web.UI.UserControl
    {
      public string Text = "" ;
    }________________________________________________Test.aspx.csprotected System.Web.UI.WebControls.PlaceHolder phTestCtl;private void InitInfo()
    {
      TestCtl uc =(TestCtl)Page.LoadControl("TestCtl.ascx");
      //这里要特别注意,TestCtl为你的用户控件类名  uc.Text = "TestStr" ;
      this.phTestCtl.Controls.Add(uc);
    }