在Web应用程序中给出此usercontrol ascx:
<%@ Control Language="C#" Inherits="TypeX" Codebehind="TypeX.ascx.cs" %>
当我开始使用时,是否可以使用反射来获取用户控件:
Type targetType = typeof(TypeX);
... now what? to code to get the usercontrol
我试过用:
assembly.GetTypes().Where(t => t.IsSubclassOf(targetType))
但这并没有给出任何结果。
任何帮助表示赞赏
额外信息:
代码隐藏(简化)是:
public partial class TypeX : UserControlBase
{
}
//we use this control:
<%@ Control Language="C#" Inherits="Loadcontrol " Codebehind="Loadcontrol .ascx.cs" %>
//with this codebehind
public partial class Loadcontrol
{
OnPrerender()
{
string controlToLoad = "TypeX";
//what to do here
}
}
我希望现在更清楚
更新:我已经做了一个示例Web应用程序来显示问题。 可以在以下网址找到该下载:WebApplication1.zip或使用:Download mirror
答案 0 :(得分:0)
Type targetType = typeof(TypeX);
var control = Page.LoadControl(targetType, null);
您需要在页面中使用此代码。