これはコードビハインドで実行できますが、マークアップ自体でこれを実行するための怠惰な方法を探しています。
複雑なプロパティを持つUserControlがあるとします。
public class MyControl : UserControl {
public Person Someone { get; set; }
}
そして、私はこのコントロールを備えたページを持っています:
<uc1:MyControl id="my1" runat="server" />
コードビハインドではなく、ページマークアップからこのコントロールに人を入れたいと思います。コードビハインドでは、次のようになります。
my1.Someone = GetSomePerson();
やりたいこと:
<uc1:MyControl id="my1" runat="server" Someone="<%= GetSomePerson() %>" />
しかし、それは有効ではありません。これを行う方法について何か提案はありますか?一度に1つのプロパティで実行できると思いますが、より一般的なアプローチを探しています。渡す複雑なオブジェクトは、この例(数十のプロパティ)よりもはるかに大きいため、実行したくありません。可能であっても、マークアップでそれらすべてを個別に定義します。
これを行う魔法の<%$ %>
機能があるのではないかと思います。