Jquery 如何在MVC应用程序中设置select2列表框中选择的值?

Jquery 如何在MVC应用程序中设置select2列表框中选择的值?,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我正在mvc应用程序中使用SELECT2列表框。从该列表框中,用户可以从下拉列表中选择值,并可以输入任何他想要的值 在上图中,“过敏和皮肤”来自下拉列表,文本“usertyped”由用户键入 我可以发布和存储所有数据,包括用户键入的值。但问题是,在用户发布表单后,我无法设置在列表框中选择的值 下面是我的代码: 模态: public class SegmentList { public int Id { get; set; } public str

我正在mvc应用程序中使用SELECT2列表框。从该列表框中,用户可以从下拉列表中选择值,并可以输入任何他想要的值

在上图中,“过敏和皮肤”来自下拉列表,文本“usertyped”由用户键入

我可以发布和存储所有数据,包括用户键入的值。但问题是,在用户发布表单后,我无法设置在列表框中选择的值

下面是我的代码:

模态:

public class SegmentList
    {
        public int Id { get; set; }    
        public string Segname { get; set; }    
        public int? SegId { get; set; }    
        public int? Active { get; set; }    
        public List<string> List { get; set; }    
        public List<SegmentList> seglist { get; set; }
    }
公共类分段列表
{
公共int Id{get;set;}
公共字符串Segname{get;set;}
公共int?SegId{get;set;}
公共int?活动{get;set;}
公共列表{get;set;}
公共列表seglist{get;set;}
}
视图:

@model selectTokenization.Models.SegmentList
@使用(Ajax.BeginForm(“Index”,“Home”,新的AjaxOptions{HttpMethod=“POST”,InsertionMode=InsertionMode.Replace}))
{
相关段
@Html.ListBoxFor(model=>model.List,新的MultiSelectList(ViewBag.List,“Segname”,“Segname”,model.List.AsEnumerable()),新的{@class=“form control tokenizationSelect2”,@multiple=“multiple”})
拯救
}
$(文档).ready(函数(){
$(“.tokenizationSelect2”).select2({
占位符:“选择段”,
标签:是的,
标记分隔符:['/',',',';','']
});
})
控制器:

 public ActionResult Index()
        {

            List<SegmentList> li = new List<SegmentList>();
            li.Add(new SegmentList { Segname = "Select", SegId = 0 });
            li.Add(new SegmentList { Segname = "Allergy", SegId = 1 });
            li.Add(new SegmentList { Segname = "Skin", SegId =2 });
            li.Add(new SegmentList { Segname = "Hair", SegId =3 });
            li.Add(new SegmentList { Segname = "Fever", SegId = 4 });
            li.Add(new SegmentList { Segname = "USA", SegId = 5 });
            li.Add(new SegmentList { Segname = "All", SegId = 6 });
            SegmentList obj = new SegmentList();
            obj.seglist = li;
            ViewBag.List = li;
            return View(obj);
        }
        [HttpPost]
        public ActionResult Index(SegmentList Segment)
        {
            MyModal db = new MyModal();
            string segmentIds = string.Empty;
            foreach (string s in Segment.List)
            {
                segmentIds += s + ",";
            }
            Segment obj = new Segment();
            obj.Segname = segmentIds.TrimEnd(',');
            obj.SegId = 1;
            obj.Active = 1;
            db.Segments.Add(obj);
            db.SaveChanges();



            List<SegmentList> li = new List<SegmentList>();
            li.Add(new SegmentList { Segname = "Select", SegId = 0 });
            li.Add(new SegmentList { Segname = "Allergy", SegId = 1 });
            li.Add(new SegmentList { Segname = "Skin", SegId = 2 });
            li.Add(new SegmentList { Segname = "Hair", SegId = 3 });
            li.Add(new SegmentList { Segname = "Fever", SegId = 4 });
            li.Add(new SegmentList { Segname = "USA", SegId = 5 });
            li.Add(new SegmentList { Segname = "All", SegId = 6 });
            SegmentList obj1 = new SegmentList();
            ViewBag.List = li;
            return View(obj1);
        }
public ActionResult Index()
{
List li=新列表();
添加(新段列表{Segname=“Select”,SegId=0});
添加(新段列表{Segname=“Allergy”,SegId=1});
添加(新段列表{Segname=“Skin”,SegId=2});
添加(新分段列表{Segname=“Hair”,SegId=3});
添加(新段列表{Segname=“Fever”,SegId=4});
添加(新段列表{Segname=“USA”,SegId=5});
添加(新段列表{Segname=“All”,SegId=6});
SegmentList obj=新的SegmentList();
obj.seglist=li;
ViewBag.List=li;
返回视图(obj);
}
[HttpPost]
公共行动结果索引(段列表段)
{
MyModal db=新的MyModal();
string segmentIds=string.Empty;
foreach(Segment.List中的字符串s)
{
分段ID+=s+“,”;
}
段obj=新段();
obj.Segname=segmentIds.TrimEnd(',');
obj.SegId=1;
obj.Active=1;
db.Segments.Add(obj);
db.SaveChanges();
List li=新列表();
添加(新段列表{Segname=“Select”,SegId=0});
添加(新段列表{Segname=“Allergy”,SegId=1});
添加(新段列表{Segname=“Skin”,SegId=2});
添加(新分段列表{Segname=“Hair”,SegId=3});
添加(新段列表{Segname=“Fever”,SegId=4});
添加(新段列表{Segname=“USA”,SegId=5});
添加(新段列表{Segname=“All”,SegId=6});
SegmentList obj1=新的SegmentList();
ViewBag.List=li;
返回视图(obj1);
}

发布后,您是否尝试使用新的增值数据库再次初始化表单?想法:1/用户编写一些东西2/您将其插入数据库3/您再次初始化表单以获取新数据。使用ajax,用户将看不到它。不要发布重复的问题!有解决这个问题的办法吗?
 public ActionResult Index()
        {

            List<SegmentList> li = new List<SegmentList>();
            li.Add(new SegmentList { Segname = "Select", SegId = 0 });
            li.Add(new SegmentList { Segname = "Allergy", SegId = 1 });
            li.Add(new SegmentList { Segname = "Skin", SegId =2 });
            li.Add(new SegmentList { Segname = "Hair", SegId =3 });
            li.Add(new SegmentList { Segname = "Fever", SegId = 4 });
            li.Add(new SegmentList { Segname = "USA", SegId = 5 });
            li.Add(new SegmentList { Segname = "All", SegId = 6 });
            SegmentList obj = new SegmentList();
            obj.seglist = li;
            ViewBag.List = li;
            return View(obj);
        }
        [HttpPost]
        public ActionResult Index(SegmentList Segment)
        {
            MyModal db = new MyModal();
            string segmentIds = string.Empty;
            foreach (string s in Segment.List)
            {
                segmentIds += s + ",";
            }
            Segment obj = new Segment();
            obj.Segname = segmentIds.TrimEnd(',');
            obj.SegId = 1;
            obj.Active = 1;
            db.Segments.Add(obj);
            db.SaveChanges();



            List<SegmentList> li = new List<SegmentList>();
            li.Add(new SegmentList { Segname = "Select", SegId = 0 });
            li.Add(new SegmentList { Segname = "Allergy", SegId = 1 });
            li.Add(new SegmentList { Segname = "Skin", SegId = 2 });
            li.Add(new SegmentList { Segname = "Hair", SegId = 3 });
            li.Add(new SegmentList { Segname = "Fever", SegId = 4 });
            li.Add(new SegmentList { Segname = "USA", SegId = 5 });
            li.Add(new SegmentList { Segname = "All", SegId = 6 });
            SegmentList obj1 = new SegmentList();
            ViewBag.List = li;
            return View(obj1);
        }