2010-11-10 40 views
0

我有一個定義,看起來像這樣在.ascx文件的頂部的用戶控件:編程加載的用戶控制和訪問屬性

<%@ Control Language="C#" ... Description="Agreement" %> 

我如何以編程方式訪問此說明字段中,後動態加載用戶控制?下列情況不工作:

string desc = ((CustomType)LoadControl("usercontrol.ascx")).Attributes["Description"]; 

它加載用戶的控制,但沒有什麼屬性集合。有任何想法嗎?謝謝!

+0

你可以嘗試將該代碼分成兩行嗎?第1行:'CustomType ct =(CustomType)LoadControl(「usercontrol.ascx」);'line 2:'string desc = ct.Attributes [「Description」]'。還有兩點:1)您使用的是什麼版本的.NET,2)您嘗試使用哪種頁面生命週期方法'LoadControl'? – RPM1984 2010-11-10 02:34:47

+0

我可以分成兩行,但我不明白這會有什麼幫助。我正在使用.NET 2.0,並且正在從父.aspx頁面的Page_Load加載控件。 – rmp251 2010-11-10 16:43:08

回答

0

http://msdn.microsoft.com/en-us/library/d19c0t4b.aspx,說明如下:

提供 控制的文本描述。 ASP.NET解析器忽略此值。

這就是說,<%@標記是一個ASP.NET指令,告訴ASP.NET如何編譯您的頁面。它通常不會導致任何可以在代碼中引用的對象來訪問該指令的詳細信息。

+0

謝謝。任何其他方式來實現這個想法?我只想在.ascx標記中添加一些文本,以便在加載控件時以編程方式進行檢索。 – rmp251 2010-11-10 16:44:47

+0

如何將'Visible =「false」''和'Text'設置爲要讀回的字符串? – 2010-11-10 23:14:35

+0

是的,我可以做這樣的事情,我只是希望有一個更優雅的方式來給它一個友好的標題 – rmp251 2010-11-11 17:21:31

相關問題