簡體   English   中英

如何獲得列表框以多選並連接字符串答案? C#MVC

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM