例えば、データソースとしてObjectDataSource
を有するDetailsView
コントロールをとる。私は細部への参照をつかむだろうDetailsView.ItemUpdated
イベントにDataDataコントロールをObjectDataSourceイベントから参照するにはどうすればよいですか?
通常はsender
をキャストして表示します。それはObjectDataSource.ItemUpdated
イベント内のイベントを処理することが必要になる特定の状況で
DetailsView dv = (DetailsView)sender;
。この場合、sender
はObjectDataSource
となりました。私は何をすることができるようにしたいことは
Label label1 = DetailsView1.FindControl("Label1");
のようにハードコードありえないクリーンなコードを書くである私は、ドキュメント上で見ても、いくつかの検索をしましたが、私は次のようないくつかのコードを記述する方法を見つけるcouldntの:
protected void ObjectDataSource1_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
ObjectDataSource ods = (ObjectDataSource)sender;
DetailsView dv = (DetailsView)ods.SOMETHING_HERE;
}
上記のスニペットでSOMETHING_HERE
に何を載せるべきか誰にでも分かりますか?
ご返信ありがとうございます。私がこれをやっているのは、チェックボックスを持つ 'TreeView'を持つカスタムの' UserControl'があるからです。それは、アイテムが表示されるべきコース/カテゴリをユーザが選択できるようにする。メインアイテムが更新された後に別のデータベーステーブルを更新できるように、このコントロールへの参照を取得する必要がある。私はそれにDetailsViewの名前をハードコーディングするだけで簡単に問題を解決しましたが、コードがあまり脆くないようにキャストできる.Parentまたは.NamingContainerのようなプロパティの種類があると思っていました。 – rtpHarry
あなたのコードを見ずに答えるのは難しいです。とにかく、オブジェクトへの参照がある限り、そのプロパティにアクセスすることができます。ユーザーコントロールからはコントロールにアクセスでき、Webコントロールからは親(ページまたはユーザーコントロール)にアクセスできます。 –