2010-07-01 62 views
3

C#3.5:如何从UserControl中动态获取父类的名称?C#3.5:如何从UserControl获取父类的名称?

例如,

如果TestPage.aspx包含用户控件ucTestUc

我需要知道的是,父类是TestPage。

我想:从内ucTestUc

this.Parent.NamingContainer是ASP.testpage_aspx。

哪个靠近,但没有雪茄。

我可以摆脱前缀和后缀,但我没有办法恢复大写。

回答

6
string typeName = this.Page.GetType().Name; 

string baseTypeName = this.Page.GetType().BaseType.Name; 

string fileName = Path.GetFileName(Request.PhysicalPath); 
+0

或'如果(Page.GetType()是TestPage){...}' – 2010-07-01 16:22:24

+1

@Lill:你问的母公司* *类和'this.Page.GetType()BaseType.Name '会给你正确的大写字母。 – LukeH 2010-07-01 16:51:05

+0

最佳答案是 this.Page.GetType()。BaseType.Name 因为它给了我所需要的:TestPage。 第二好的是Path.GetFileName(Request.PhysicalPath),因为它给我 TestPage.aspx,我可以摆脱.aspx。谢谢卢克! – 2010-07-01 17:06:04