【发布时间】:2016-12-12 23:40:03
【问题描述】:
我收到以下错误:
System.ObjectDisposedException:ObjectContext 实例已被释放,不能再用于需要连接的操作。
真的很好笑
1.我使用预加载
2-Tracing 显示加载的值
3-在第一行代码中获取数据,然后在后面的行中给出错误
型号:
public class EndedAuctionsModel{
public Auction[] Auctions { get; set; }
public int Count { get; set; }
public int PerPage = 10;
public int Page { get; set; }
}
控制器:
public ActionResult Ended(EndedAuctionsModel m)
{
m.Page = ((string)ControllerContext.RouteData.Values["id"]).PInt(1);
using(Entities db = new Entities())
{
m.Auctions = db.Auctions.Include("participations").Where(a => a.Ends < DateTime.Now).OrderByDescending(a=>a.Ends).Skip((m.Page-1)*m.PerPage).Take(m.PerPage).ToArray();
m.Count = db.Auctions.Count(a => a.Ends < DateTime.Now);
}
return View(m);
}
查看:
<div class="participated">
@for (int i = 0; i < Model.Auctions.Length; i++)
{
Participation last = Model.Auctions[i].Participations.OrderBy(p => p.Date).Last();
<div class="col-md-12 auction" style="background:#eee; margin:5px 0;padding:10px;" data-id="@Model.Auctions[i].Id">
<div class="col-md-4"><img src="~/data/pimgs/@Model.Auctions[i].AuctionImages.First().Filename" style="width:100%;border-radius:10px;" /></div>
<div class="col-md-8">
<h3>@Model.Auctions[i].Name</h3>
<div><i class="fa fa-money big-blue"></i>قیمت شروع مزایده: <strong>@Model.Auctions[i].BasePrice.Value.ToString("N0")</strong></div>
@{ string username = last.GetUserName(); if (username == null) { username = "-"; } }
<div><i class="fa fa-gavel big-blue"></i>برنده مزائده: <strong class="last-user"><a href="/Home/Profiles/@username">@username</a></strong></div>
<div><i class="fa fa-user big-blue"></i>قیمت نهایی: <strong class="last-price">@((Model.Auctions[i].BasePrice + Model.Auctions[i].Participations.Count * Model.Auctions[i].StepPrice).Value.ToString("N0"))</strong></div>
</div>
</div>
}
</div>
错误在视图的第5行data-id="@Model.Auctions[i].Id"
【问题讨论】:
-
最初是否加载了
AuctionImages? (@Model.Auctions[i].AuctionImages.First().Filename) -
@StephenMuecke 非常感谢。它解决了问题,但我找不到问题的原因是该行之前的某个地方出现了错误。为什么会这样?
-
Razor 有时会这样做。最好在视图上放置一个断点并单步执行以细化抛出异常的行
标签: c# asp.net asp.net-mvc asp.net-mvc-4