Я бегу в проблему, где после постбэка, страница неисправного загрузить из-заПосле обратной передачи страницы с ошибкой DbContext в Html.DropDownListFor
Операция не может быть завершена, поскольку DbContext было расположены.
Я прошел через код и код .cs файл работает отлично, он бросает ошибку в .cshtml файле на
@Html.DropDownListFor(m => m.Section, Model.Sections, "--Select Section--", new { @id = "Section", disabled = "disabled" })<br /><br />
поэтому я немного запутался, как это происходит, поскольку файл .cshtml не вызывает контекст, а модель. Вот код бэкенд
using (CharacterContext db = new CharacterContext())
{
model.Sections = new SelectList(db.Sections.OrderBy(s => s.Title), "ID", "Title");
if (!FileHelper.IsImage(RaceImageFile))
{
ModelState.AddModelError("Invalid File Type.", "Images must be JPG, GIF, or PNG files.");
}
if (ModelState.IsValid)
{
if (RaceImageFile != null)
{
string FolderName = GeneralHelper.GetSectionRoute(model.Section) + "/Races";
model.RaceImageID = FileHelper.UploadSiteImage(FolderName, model.Name, RaceImageFile, model.RaceImageID.Value);
}
else
{
if (model.RaceImageID.HasValue)
{
FileHelper.UpdateFileName(model.Name, model.RaceImageID.Value);
}
}
Race UpdatedRace = new Race()
{
ID = model.ID,
Name = model.Name,
SectionID = model.Section,
RaceImageID = model.RaceImageID,
Description = model.Description
};
db.Entry(UpdatedRace).State = EntityState.Modified;
db.SaveChanges();
ViewBag.Results = "Race updated.";
}
return View(model);
}
Добавление '.ToList()' исправило проблему. – Matthew