Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC从ListBoxFor返回逗号分隔的字符串到控制器_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# ASP.NET MVC从ListBoxFor返回逗号分隔的字符串到控制器

C# ASP.NET MVC从ListBoxFor返回逗号分隔的字符串到控制器,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我试图从ListBoxFor返回一个逗号分隔的字符串,并将其保存到我们的数据库中。我稍后在程序中使用它并将字符串分开 以下是我所拥有的: 型号: public string Mask_Concat { get; set; } 视图: 目前,我只返回multi-select中的第一个值。 示例:ListBoxFor由mask1、mask2、mask3、mask4、mask5填充 mask1和mask5在“创建”选项卡上被选中 当Mask_Concat返回控制器时,只传递mask1 如何将值作为m

我试图从ListBoxFor返回一个逗号分隔的字符串,并将其保存到我们的数据库中。我稍后在程序中使用它并将字符串分开

以下是我所拥有的:

型号:

public string Mask_Concat { get; set; }
视图:

目前,我只返回multi-select中的第一个值。 示例:ListBoxFor由mask1、mask2、mask3、mask4、mask5填充

mask1和mask5在“创建”选项卡上被选中

当Mask_Concat返回控制器时,只传递mask1


如何将值作为mask1、mask5传递?

在HTML中添加隐藏字段:

<input type="hidden" id="selectedValues" name="selectedValues"/>

您如何提交表单?通过保存按钮:您可以添加隐藏的输入,并在选择更改时使用javascript填充字段。然后在提交时,只需从隐藏字段中获取值。是否需要解释?我不知道该怎么做,或者至少在脑海中想象一下,我没有看到。我会回答,等一下……由于某种原因,javascript对我不起作用,它正在杀死我页面上的其他javascript。你使用的是什么版本的jquery
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Mask_Concat")] Chip_Master chipMaster)
{
    if (ModelState.IsValid)
    {
        db.Chip_Master.Add(chipMaster);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(chipMaster);
}
<input type="hidden" id="selectedValues" name="selectedValues"/>
@Html.ListBoxFor(model => model.Mask_Concat, Enumerable.Empty<SelectListItem>(), new { @class = "chosen-container chosen-container-multi change-select", @style = "width:300px"})
<script type="text/javascript">
     $('select .change-select').change(function () {
        var $hidden = $("#selectedValues");
        $hidden.val($(this).find('option:selected').map(function () {
            return $(this).val();
        }).get().join(", "));
    });
</script>
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Chip_Master chipMaster)
{
    if (ModelState.IsValid)
    {
        chipMaster.Mask_Concat = Request.Form["selectedValues"];
        db.Chip_Master.Add(chipMaster);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(chipMaster);
}