1

Web アプリケーションでこのユーザー コントロール 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

4

1 に答える 1

0
Type targetType = typeof(TypeX);
var control = Page.LoadControl(targetType, null);

このコードをページで使用する必要があります。

于 2012-08-28T11:26:03.593 に答える