Html helper dropdownlistfor не работает должным образом после использования ModelState.Clear () ;. Если я не включил ModelState.Clear () в моем контроллере, то он работает нормально
Это мой HTML код
@Html.DropDownListFor(model => model.Vendors, new
SelectList(Model.vendors_list, "Entry_Value", "Entry_Value",
Model.Vendors), "--Please select Vendor--", new { @class = "form-control",
required = "required" })
Удалить код как показано ниже
<input type="submit" value="Delete" formaction=@Url.Action("DeleteOthersPartList/" + i) formmethod="post" class="btn btn-danger" onclick="return confirm('Confirm Delete ?')" />
А это мой код контроллера при нажатии кнопки «Удалить»
public ActionResult DeleteOthersPartList(RegisterAL model, int id)
{
try
{
PartList part = new PartList();
part = model.part_information_List[id];
model.part_information_List.Remove(part);
ModelState.Clear();
return View("New_RegistrationForm", model);
}
}
Прежде чем нажать кнопку удаления, я выбираю значение, как показано на рисунке ниже.

После того, как я нажму на кнопку «Удалить», выпадающий список вернется к значению по умолчанию, а затем значение фактически не будет пустым (выделено значение для model.Vendors).

Причина, по которой я использую ModelState.Clear (), заключается в том, что
Пример ниже:
Я хотел бы удалить второй пункт, который является "asd3"

Если я не добавил код ModelState.Clear (), то будет показан результат ниже. Он всегда удаляет последний элемент. Но я удаляю «asd3», но удаляю «asd4».
Я знаю, что это может быть из-за проблемы с кодом контроллера, но я попытался отладить, на стороне контроллера, запись «asd3» удалена, но при возврате в View она появляется снова. Затем я добавляю код ModelState.Clear (), возвращаюсь к своему представлению, он может показать, что «asd3» удален, но это создает еще одну проблему с выпадающим списком, о котором я упоминал выше.

Это я здесь ошибаюсь?
Потому что, если я удалю код ModelState.Clear (), он будет работать нормально.