如何动态加载文本到asp.net中的用户控件标签?

时间:2018-06-01 10:03:51

标签: c# asp.net user-controls

我想加载2个用户控件(相同但具有不同的文本属性)。 我的用户控件包含一个标签,其中包含为ascx.cs中的文本定义的函数

我在运行时使用面板加载控件..我希望用户控件标签都有不同的文本。

我的.ascx文件

 <asp:Label ID="uclbl" runat="server" />

我的.ascx.cs文件

 public string textforlabel
    {
        get { return uclbl.Text; }
        set { uclbl.Text = value; }
    }

我的.aspx文件

  <asp:Panel ID="panelMain" runat="server" >
   </asp:Panel>

*我已注册控件

我的.aspx.cs文件

Control _dummyUserControl = (Control)Page.LoadControl("~/UserControl/User1.ascx");
        _dummyUserControl.  ; //can not find the textforlabel here
        panelMain.Controls.Add(_dummyUserControl);

2 个答案:

答案 0 :(得分:1)

因为您进行了错误的转换,您应该转换为您的用户控件类型:

User1 _dummyUserControl = (User1)Page.LoadControl("~/UserControl/User1.ascx");
 _dummyUserControl.MyProperty = "SDfsdf"  ; //here you can find all your custom properties
panelMain.Controls.Add(_dummyUserControl);

答案 1 :(得分:0)

你必须输入强制转换:

User1 _dummyUserControl = (User1)Page.LoadControl("~/UserControl/User1.ascx");