我将 MVC3 与 .NET 4.0 一起使用,当我的创建表单被调用时,我得到一个 ObjectDisposedException ,表明该对象已被释放。此 MVC3 页面语句出现异常:
@Html.DropDownListFor(model => model.Country, GeneralActivity.GetCountriesMVC("NL"))
调用的方法是这样的:
IEnumerable<SelectListItem> GetCountriesMVC(string preselectCountryCode)
{
... some error checking code omited for simplicity ...
IEnumerable<SelectListItem> qlist;
using (Data.MyDataContext ctx = new Data.MyDataContext()) {
qlist = from p in ctx.Countries select new SelectListItem {
Text = p.CountryName,
Value = p.CountryCodeId,
Selected = (p.CountryCodeId == preselectCountryCode)
};
}
return qlist;
}
在调试期间,我执行到 return 语句,然后它离开并将我带到 MVC 页面上的调用 @Html 语句并引发异常。
qlist 实例在 USING 语句之外声明并由 LINQ 查询初始化,所以我不明白为什么它说对象已被释放。