我想加载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);
答案 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");