Из вашего вопроса неясно, с каким из двух показанных вами действий GET связано это представление: это действие CreateSubjectType
или действие DeleteSubjectType
? Или даже какое-то другое действие, которое вы не показали?
Если мы считаем, что это CreateSubjectType.cshtml
, то у вас возникла проблема, поскольку в этом представлении вы пытаетесь создать раскрывающийся список в форме удаления для свойства Sname
. За исключением того, что в вашем CreateSubjectType
вы никогда не инициализировали свойство SubjectTypes
вашей модели представления для SelectList, как это было в действии DeleteSubjectType
.
Поэтому убедитесь, что вы правильно инициализируете это свойство:
public ActionResult CreateSubjectType()
{
CreateViewModel model = new CreateViewModel();
List<SubjectType> subjectypes = Arep.getallS();
model.SubjectTypes = new SelectList(subjectypes, "SID", "Sname");
return View(model);
}
Также ваша форма удаления, похоже, отправляет сообщение на действие DeleteSubjectType
:
@using (Html.BeginForm("DeleteSubjectType","Admin",FormMethod.Post))
кроме того, что на вашем контроллере я вижу:
[HttpPost]
public ActionResult DeleteConfirmed2(int id)
вместо:
[HttpPost]
public ActionResult DeleteSubjectType(int id)
что, я полагаю, вы были вынуждены сделать, чтобы избежать конфликта разрешения перегрузки, который вы имели с действием GET с тем же именем. В этом случае вы можете сделать это:
[HttpPost]
public ActionResult DeleteSubjectType(int id, FormCollection fc)