2010-11-03 122 views
1

我有一个usercontrol(ascx),我想动态添加到页面。动态添加一个页面的自定义用户控件

控件和页面都没有命名空间(谢谢蹩脚的供应商)。

当我使用下面,它告诉我它不能找到“类型或命名空间”

StayTunedControl = (UserControler_StayTuned)LoadControl("~/UserControler/StayTuned.ascx");   
Page.Controls.Add(StayTunedControl); 
StayTunedControl.StayTunedID = Convert.ToInt32(IncludesStayTunedMeta.Value); 

一些调整的命名空间后,等我现在在哪里上述第3行生成一个点以下错误:

“System.Web.UI.UserControl”不包含定义“StayTunedID”

我希望铸造StayTunedControl类型(UserControler_StayTuned)可以解决这个问题。

帮助?

+0

你是否在你的aspx文件中引用了控件? – 2010-11-03 15:21:17

+0

你应该用新的信息来更新你的问题,它可以让人们更容易地在一个地方帮助所有的信息。 – 2010-11-03 15:24:04

+0

作为aspx页面的参考添加 - 现在我得到以下内容:编译器失败,错误代码为1. – 2010-11-03 15:27:37

回答

0

访问用户控制的任何财产之前,您需要创建用户控件时加载的一个实例它到了页面。

Dim tc As New Page 
Dim c As Control = tc .LoadControl("~/usercontrols/tasks.ascx") 
Dim uc As usercontrols_tasks = DirectCast(c, usercontrols_tasks) 

我第一次加载我的用户控件作为通用控件。然后创建一个用户控件的新实例,并将通用加载的控件转换为我的uc实例。

创建用户控件的实例后,其属性将可用。

相关问题