0

私は ObjectDataSource と FormView コントロールを使用しています。

ObjectDataSource には、指定された型と、挿入操作を実行するメソッドがあります。ただし、挿入が完了したら、ユーザーを他のページにリダイレクトしたいので、新しく作成/永続化されたオブジェクトの ID が必要です。

したがって、FormView では次のようになります。

OnItemInserted="OnFormItemInserted"

handler その ID にアクセスする必要があります。しかし、その ID を ObjectDataSource レベルから適切に渡す方法は? 私は使用できます

HttpContext.Current.Items

ObjectDataSource 処理オブジェクトの内部ですが、私の処理タイプは ASP .NET について何も知らないので、私はそれが好きではありません (懸念の分離?)。

ありがとう

4

1 に答える 1

2

次のような簡単なことを試しましたか?

あなたのデータオブジェクトで

コントロールで構成された挿入メソッドを更新してObjectDataSource、生成された ID を返します。

public int Insert(string firstName, int lastname)
{
    // return the ID generated by the insert command
    return 4;
}

ASPX コードビハインド

Insertedこれで、イベントを処理しているページで次のようになります。

protected void ods_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
    var res = e.ReturnValue.ToString();
    this.lblMessage.Text = res;
    // add your cool additional logic and redirect stuff
}
于 2012-07-16T07:24:06.503 に答える