3

ObjectDataSourceを使用してデータをGridViewにバインドしています。データソースとして使用する新しいオブジェクトを常に作成することを除いて、正常に機能します。すべてのセットアップは問題なく実行できますが、既存のオブジェクトのインスタンスを使用してその「データソース」として指定することはできません。これを行うことは可能ですか?もしそうなら、どのように?

それが不可能な場合、なぜですか?

編集:これが何が起こっているかの要点です(オブジェクトタイプが変更されました):最初のページであなたは犬の属性を編集しています。属性の1つは「子犬を持っている」であり、それがtrueの場合、次のページでそれらの子犬の名前を指定します。私の場合、これらの子犬は元の犬ではなく、「新しい」犬にリンクされています。(私の問題が「雌犬」であるという含意は偶然でした。;-))

4

2 に答える 2

8

ObjectDataSourceでObjectCreatingイベントのイベントハンドラーを作成します。

ObjectDataSourceEventArgsプロパティを使用してインスタンスを割り当てることができます

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
    e.ObjectInstance = myObject;
}

このイベントもマークアップに接続します

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />
于 2008-12-29T18:23:46.000 に答える
0

ここで私自身の質問で発見したように、アプリケーションキャッシュに格納されているアイテムは、使用するための参照として自分自身を渡します。そこに(または場合によってはセッションにも)データを保存し、その方法でアイテムを渡すことを検討できます。

于 2008-12-29T18:12:48.860 に答える