以下があるとしましょう:
public enum RenderBehaviors
{
A,
B,
C,
}
public class MyControl : Control
{
public List<RenderBehaviors> Behaviors { get; set; }
protected override void Render(HtmlTextWriter writer)
{
// output different markup based on behaviors that are set
}
}
ASPX/ASCX マークアップで Behaviors プロパティを初期化することはできますか? すなわち:
<ns:MyControl runat="server" ID="ctl1" Behaviors="A,B,C" />
この場合、サブクラス化はオプションではありません (動作の実際の意図は、この例とは少し異なります)。この方法でプロパティを初期化しようとすると、WebForms はパーサー エラーを生成します。同じ質問は、他のリスト型 (int、string) にも当てはまります。