新しい項目が挿入されている場所からCategory_New.aspxにFormViewがあります。それは以下のメソッドに挿入されます。挿入後、編集ページにリダイレクトします。 IDを取得できません
public void myForm_InsertItem()
{
var item = new A.Models.Category();
CategoryContext db = new CategoryContext();
TryUpdateModel(item);
if (ModelState.IsValid)
{
// Save changes here
db.Category.Add(item);
db.SaveChanges();
//item.CategoryID is present from this point
}
}
私はその項目を編集するためのあるページにユーザーをリダイレクトしたいと思います。そのページはCategory_Edit.aspxです。
メソッドmyForm_ItemInsertedに挿入されたアイテムのIDを取得して、次のコードが機能するようにする方法はありますか?
protected void myForm_ItemInserted(object sender, FormViewInsertedEventArgs e)
{
Response.RedirectToRoute(GetRouteUrl("CategoryEdit", new {CategoryID = /* how to get ID of inserted item??? */}));
}
挿入されたアイテムのIDを知る方法は?
http://stackoverflow.com/questions/5212751/how-can-i-get-id-of-inserted-entity-in-entity-framework – Emanuele
@Emanuelleしかし項目変数はメソッドからアクセス不能ですmyForm_ItemInserted? – Willmore
まず、最初の方法はItemInsertingです。 1つのイベントでコードを移動します。または、ItemInsertingメソッドから項目変数を移動してください。 – Emanuele