[英]MVC MultiSelectList posts NULL when form is submitted
我很難從MultiSelectList捕獲發布的值。 頁面加載后,將從我模型的列表中成功填充選擇列表控件。 但是,提交表單后,模型列表為空。
這些屬性在我的“聯系人”模型中。 Contact對象僅具有ExternalUserID(int)和PublicName(字符串)屬性。
public List<Contact> AvailableContacts { get; set; }
public List<Contact> SelectedContacts { get; set; }
這些控件在我的表單上。
@Html.ListBoxFor(m => m.AvailableContacts,
new MultiSelectList(Model.AvailableContacts, "ExternalUserID", "PublicName", null),
new { @class = "form-control", size = "15" })
@Html.ListBoxFor(m => m.SelectedContacts,
new MultiSelectList(Model.SelectedContacts, "ExternalUserID", "PublicName", null),
new { @class = "form-control", size = "15" })
這是我的控制器。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult EditContacts(Contacts model)
{
if (ModelState.IsValid)
{
// Code to save omitted for clarity.
}
return View(model);
}
這可能需要進行一些簡單的調整,並且可能在之前曾被詢問過,但是我還沒有找到關於SO的解決方案或在線上的簡潔示例。 如果您傾向於將其標記為重復,則請包含一個鏈接到簡潔示例的鏈接。
謝謝你的幫助。
您需要具有一個屬性以將所選項目綁定到。 多個<Select>
綁定到並返回一個值類型數組。
public class MyViewModel
{
public int[] SelectedContacts { get; set; }
public List<Contact> AvailableContacts { get; set; }
}
視圖
@Html.ListBoxFor(m => m.SelectedContacts, new SelectList(Model.AvailableContacts, "ExternalUserID", "PublicName"), new { @class = "form-control", size = "15" })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.