Почему я отвечаю на свой вопрос, я не хочу, чтобы кто-то сталкивался с такой же проблемой, как я уже нашел.
Прежде всего, позвольте мне сказать @Pankaj Upadhyay, что я действительно ценю его большую помощь. Я действительно большое спасибо @Pankaj Upadhyay.
Наконец-то я могу решить свою проблему, постоянно получая помощь от @Pankaj Upadhyay.
@model CyclingClubSystem.Models.CycleModel
@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_Layout.cshtml";
HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
}
<h2>Edit</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>CycleModel</legend>
@Html.HiddenFor(model => model.CycleModelID)
<div class="editor-label">
@Html.LabelFor(model => model.CycleTypeID)
</div>
<div class="editor-field">
@*Html.DropDownListFor(model => model.CycleTypeID,
(SelectList)ViewBag.CycleType,
"Select Cycle Type",
new { id = "ddlCycleType", @class = "required" })*@
@Html.DropDownListFor(model => model.CycleTypeID,
(SelectList)ViewBag.CycleType,
"Select Cycle Type",
new { id = "ddlCycleType"})
@*Html.DropDownList("CycleType", "Select Cycle Type")*@
@Html.ValidationMessageFor(model => model.CycleTypeID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Model)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Model)
@Html.ValidationMessageFor(model => model.Model)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
Класс контроллера
[HttpGet]
public ActionResult Edit(int CycleModelID)
{
CycleModel cycleModel = unitOfWork_CycleModel.GenericTEntityRepository.GetByID(CycleModelID);
//ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)), "CycleTypeID", "Type", cycleModel.CycleTypeID);
ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)), "CycleTypeID", "Type");
return View(cycleModel);
}
[HttpPost]
public ActionResult Edit(CycleModel _CycleModel)
{
if (ModelState.IsValid)
{
unitOfWork_CycleModel.GenericTEntityRepository.Update(_CycleModel);
unitOfWork_CycleModel.Save();
return RedirectToAction("Index");
}
ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)), "CycleTypeID", "Type");
return View(_CycleModel);
}
Наконец, я выяснил, что основная причина, вызывающая ошибку, заключается в том, что я забываю поместить этот код в [Метод редактирования сообщения контроллера]
ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)), "CycleTypeID", "Type");
Почему я могу решить свою проблему, я получаю непрерывное руководство от @Pankaj Upadhyay.