次のように私は、ページ上で定義されたユーザーコントロールを持っている:ASPX UserControlプロパティのデフォルト値を設定するにはどうすればよいですか?
<uc:MyUserControl ID="MyUserControl" runat="server" Visible="true" />
私は次のようにカスタムプロパティを別のページに同じコントロールを再利用したいと思っています:
<uc:MyUserControl ID="MyUserControl" runat="server" Visible="true"
MyCustomProperty="MyCustomText" />
目的のMyCustomPropertyは、MyUserControl内の一部のテキストを、指定するものになるように制御することです。
最初のケースでは、テキストを「表示」にし、2番目のケースでは「MyCustomText」にします。私は、プロパティを定義するために、次のコード持っている私のユーザーコントロールで
:
[DefaultValue("View")]
public string MyCustomProperty { get; set; }
を私はまた、プロパティに基づいてテキストを更新するには、次のコードを持っている:
LinkButton buttonSelect = e.Item.FindControl("ButtonSelect") as LinkButton;
if(buttonSelect != null) buttonSelect.Text = MyCustomProperty;
実際に何が起こります最初のケースでカスタムプロパティが指定されていない場合は、MyCustomProperty == nullとなります。
私は、DefaultValue属性を追加することによってデフォルト値が "View"であることを指定しようとしましたが、意図したとおりの効果はありませんでした。
誰かが私が間違っていることを見つけることができますか?
私の場合、ポストバックは問題ではないので、あなたの答えはちょうど私が必要としたものでした。私は本当にMSDNのDefaultValueを参照する必要がありましたが、私はそれが私の心を越えていない他の多くのもので忙しかった...これは愚かなことです...あなたの助けをありがとう! – mezoid