Выберите список, не публикуя выбранную опцию на контроллере
У меня есть текущая модель списка счетов, которую я хочу привязать к списку выбора
public class InvoiceList
{
public string InvoicerReference { get; set; }
public Invoice SelectedInvoice{ get; set; }
public List<Invoice> Invoices { get; set; }
}
А вот и выпадающий список
@using (Html.BeginForm("Invoice", "Billing", FormMethod.Post))
{
@Html.DropDownListFor(m => m.SelectedInvoice, new SelectList(Model.Invoices, "invoiceReference", "InvoiceDisplay"))
<input type="submit" id="btnSelectInvoice" />
}
Однако, когда я отправляю сообщение на мой контроллер, модель становится пустой
public ActionResult Invoice(InvoiceList invoiceReference)
{
....
return View(invoiceList);
}
Кто-нибудь может увидеть, что я делаю неправильно?
1 ответ
Ваша проблема здесь:
public Invoice SelectedInvoice{ get; set; }
@Html.DropDownListFor(m => m.SelectedInvoice
Html.DropDownListFor
ожидает, что первый параметр будет иметь тип value
из вариантов.
Итак, если ваш invoiceReference
является, например, int
, вы бы сделали это:
public class InvoiceList
{
public string InvoicerReference { get; set; }
public int SelectedInvoice{ get; set; }
public List<Invoice> Invoices { get; set; }
}