[英]How do I get a listbox to multiselect and concatenate string answers? C# MVC
我正在嘗試使列表框返回串聯的字符串,並用逗號分隔,以字符串形式返回。
在我的ViewModel中,我有:
public IEnumerable<SelectListItem> XListItems
{
get
{
var list = new List<SelectListItem>();
list.Add(new SelectListItem { Value = "A", Text = "A" });
list.Add(new SelectListItem { Value = "B", Text = "B" });
list.Add(new SelectListItem { Value = "C", Text = "C" });
list.Add(new SelectListItem { Value = "D", Text = "D" });
list.Add(new SelectListItem { Value = "E", Text = "E" });
return list;
}
}
我的ViewModel還包含一個日志,其中包含AString,它是一個String。
我認為我有:
@Html.ListBoxFor(model => model.log.AString, Model.XListItems, new {Multiple = "multiple"})
現在,它只是返回選擇的第一個項目。
我將如何允許用戶選擇多個項目並將它們作為字符串返回,例如:“ A,C,D”?
不知道為什么要返回逗號分隔的字符串(需要使用JavaScript來構造它)。 只需將模型中的屬性AString
更改為string[] AString {get; set;}
string[] AString {get; set;}
。 然后,該屬性將包含一個已選擇值的數組。
如果確實需要以該格式保存值,請使用(在POST方法中)
var result = string.Join(",", AString);
並且您不需要包括new {Multiple = "multiple"})
。 ListBoxFor
仍將添加該屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.