2010-11-03 112 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實例。

創建用戶控件的實例後,其屬性將可用。

相關問題