0

ASP.NET Web コントロールのカスタム クラスのインスタンスを指すと思われるカスタム プロパティを設定する方法に苦労しています。

サンプル Web コントロール:

public class CustomControl : System.Web.UI.WebControls.Panel
{
  public IFactory Factory { get; set; }
}

コードビハインド:

public partial class Main : System.Web.UI.Page
{        
  public IFactory GetFactory { 
    get { return new CustomFactory(); } 
  }
}

public class CustomFactory : IFactory {}

カスタム ファクトリはコード ビハインドで初期化されます。マークアップ (コード ビハインドではない) で、CustomControl の Factory プロパティをコード ビハインドのインスタンスに設定する必要があります。私が試したインライン コードのバリエーションはどれも機能しませんでした。

<asp:CustomControl ID="MyCustomControl" Factory="<%GetFactory%>" runat="server" />
<asp:CustomControl ID="MyCustomControl" Factory="<%=GetFactory%>" runat="server" />

誰でもこれを行う方法を手伝ってもらえますか?

4

1 に答える 1

1

コントロール タグ マークアップに割り当てることはできません。タグ マークアップは html としてレンダリングされ、そのようにするロジックはありません。html は の結果を解釈しませんGetFactory。できることは、コントロール タグ プロパティではなく、マークアップで if を設定することですが、次のようにコード ブラケット内で設定します。

<%MyCustomControl.Factory = this.GetFactory;%>
于 2012-10-03T18:32:27.757 に答える