解释起来相当复杂,但如果有什么不清楚的话,我会试试。
我有一个页面,我通过他的模型视图编辑dbcontext对象(在创建模型并添加Dbcontext后自动创建)。但是,也有可能联系外部源(LinkedIn)以检索此特定信息。因此,我将此链接放在我正在编辑对象的页面上:@Html.ActionLink("Login with LinkedIn", "AuthenticateToLinkedIn", "LinkedIn")
但是当我使用以下代码返回编辑页面时:
int userid1 = Convert.ToInt32(Membership.GetUser().ProviderUserKey.ToString());
List<Person> test = (from p in db.Persons where p.userid == userid1 select p).ToList();
//go back to the original page.
return RedirectToAction("Edit", "Person", test[0].ID);
它抛出了一个异常,即该对象已被修改。这是合乎逻辑的,因为它很可能将较早的页面保存在内存中(我假设我的网页在我的代码中没有这样做)因此他认为同一个对象被加载两次,这意味着对象将发生冲突。我怎么可能阻止这个呢?我想也许回到原始页面或通过另一个页面重定向。你对此有何看法?我该怎么做呢,因为老实说我不知道如何访问缓存或类似的东西。