Я изменил свой контроллер, чтобы передать VoucherBatchViewModel вместо VoucherBatch
[HttpPost]
public ActionResult Edit(Guid id, VoucherBatchViewModel voucherBatchViewModel)
{
if (!ModelState.IsValid)
{
SetupDropDowns();
И vm:
public class VoucherBatchViewModel
{
public VoucherBatch VoucherBatchInVM { get; set; }
public string CreationReference { get; set; }
public int NumberToMove { get; set; }
public int VoucherCodeLength { get; set; }
}
Вопрос: Почему мойНедопустимое ModelState?Раскрывающийся список не заполнил правильное поле в ViewModel.Html действительно выдает правильные
<div class="editor-field">
@Html.DropDownList("VoucherProviderId",
new SelectList(ViewBag.VoucherProviders as System.Collections.IEnumerable,
"Id", "Name", Model.VoucherBatchInVM.VoucherProviderId))
, и в Edit get содержится это, которое я использую для заполнения DropDown.
ViewBag.VoucherProviders = uow.VoucherProviders.OrderBy(v => v.Name).ToList();
Html:
<select id="VoucherProviderId" name="VoucherProviderId"><option value="0469f9ba-c4ea-401a-86f1-095208c6a7fb">Name</option>
<option selected="selected" value="e0aeed44-3574-46f1-a493-0a6a87948942">Voucher Provider 1</option>
<option value="5abe1158-282b-4330-9b11-01de503a2f16">Voucher Provider 2</option>