コンテキスト: ASP.NET 3.5 / C#
やあ、
ユーザーコントロールを作成しました
public partial class MyControl : UserControl
{
// EDIT: example first used "UniqueId" as property name, which was wrong.
public Guid MyId { get; set; }
// ...
}
そしてこの使用例
<uc1:MyControl
ID="myControl"
MyId="443CBF34-F75F-11DD-BE2F-68C555D89123"
runat="server" />
手順:
- このコントロールを Web フォーム (aspx) に追加します。
期待される結果:
- ユーザー コントロールの HTML が追加され、MyId の一意の値 (Guid.NewGuid() に対応する) が、設計時に MyId 属性値として ASPX HTML に設定されます。
実結果:
- ユーザー コントロールの HTML が追加され、設計時に MyId 属性値の HTML に MyId の一意の値が設定されません。
これが不可能な場合:
- 回避策 1: サーバー コントロールを使用してこれを実現することは可能でしょうか? どのように?
- 回避策 2: UserControl デザイン モード タスクを使用してこれを実現することは可能ですか?
説明:
- プロパティ値はコントロール インスタンスに対して変更されることはなく、aspx ページのコントロール宣言を通じて ASP.NET によって自動的に設定されるため、プロパティ値を永続化することは問題ではありません。
- MyId 属性は、実行時にレンダリングする必要はありません。
GrB!