私は、ユーザーコントロールのマークアップ、ページに存在する他のusercontrolへの参照を渡す方法を探しています。この時点で私は、これは、コントロールの名前の文字列プロパティを持つやってるし、分離コードで、私はそれを得るためにFindControlを使用し、この方法:Asp .Net usercontrolがマークアップから他のusercontrolを参照しています
<uc2:ctlMyControl ID="MyControl1" runat="server"
ReferencedControl="TheIdOfOtherControlInThePage" />
とサーバ側で:
public string mvarReferencedControl= "";
public string ReferencedControl {
get
{
return mvarReferencedControl;
}
set
{
mvarReferencedControl = value;
}
}
私が知りたいのは、コントロールの名前を文字列に渡すのではなく、コントロール自体を「コントロール」プロパティに渡すより良い方法があるかどうかです。コントロールへの参照を直接持ち、回避しますFindControlを実行します。
正確に達成したいもの> – Pankaj
マークアップに設定するときは、シリアル化可能である必要があるため、設定しない場合は設定しないでください。しかしそれ以外の場合は問題ありません。プロパティ内のUserControl/Pageの別のコントロールへの参照をいつでも返すことができます。 –
これは、ユーザーコントロールをシリアライズ可能にすることができると思います、ティム? – tomasofen