Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Asp.net mvc 4 如何发送复选框的选中值?我想将复选框值发送到控制器并将更改保存到数据库中_Asp.net Mvc 4_Checkbox_Ef Database First - Fatal编程技术网

Asp.net mvc 4 如何发送复选框的选中值?我想将复选框值发送到控制器并将更改保存到数据库中

Asp.net mvc 4 如何发送复选框的选中值?我想将复选框值发送到控制器并将更改保存到数据库中,asp.net-mvc-4,checkbox,ef-database-first,Asp.net Mvc 4,Checkbox,Ef Database First,如何在控制器MVC4中获取复选框值?我想将复选框值发送到控制器并将更改保存到数据库中。我首先使用实体框架4.5和MVC4数据库。首先创建视图模型 public class UnitVM { public List<Unit> UnitObj { get; set; } } public class Unit { public int Id { get; set; } public string RoomNo { get; set; }

如何在控制器MVC4中获取复选框值?我想将复选框值发送到控制器并将更改保存到数据库中。我首先使用实体框架4.5和MVC4数据库。

首先创建视图模型

 public class UnitVM 
    {
    public List<Unit> UnitObj { get; set; }
}

public class Unit
    {
    public int Id { get; set; } 
    public string RoomNo { get; set; }
    public bool CheckedStatus { get; set; }
}
公共类UnitVM
{
公共列表UnitObj{get;set;}
}
公营课组
{
公共int Id{get;set;}
公共字符串RoomNo{get;set;}
公共bool CheckedStatus{get;set;}
}
然后在控制器中,创建“HttpGet”操作以绑定复选框列表

别忘了加上

使用bootmvcapapplication3.Models

使用系统文本

[HttpGet]
    public ActionResult Med()
    {
        UnitVM obj = new UnitVM(); // Create object of viewmodel
        obj.UnitObj = BindUnits(); // function to bind checkboxlist values
        return View(obj);
    }

    public List<Unit> BindUnits()
    {
        List<Unit> obj = new List<Unit>();
        var trverse = dbContext.ALFUnits.Where(x => x.UNITSiteCode.Equals("AZA"));

        foreach (var i in trverse)
        {
            obj.Add(new Unit { Id = i.Id, RoomNo = i.RoomNo });
        }

        return obj;
    }

[HttpPost]
    public ActionResult Med(UnitVM obj)
    {

        StringBuilder sb = new StringBuilder();

        foreach (var item in obj.UnitObj)
        {
            if (item.CheckedStatus == true)
            {
                sb.Append(item.RoomNo + ", ").AppendLine();
            }
        }

        ALFMedcartMaster add = new ALFMedcartMaster();

        add.Room = sb.ToString(); //Store checked Room nos. in "101,102,103" this format

        dbContext.ALFMedcartMasters.Add(add);
        dbContext.SaveChanges();
        return View();
    }
[HttpGet]
公共行动结果Med()
{
UnitVM obj=new UnitVM();//创建viewmodel的对象
obj.UnitObj=BindUnits();//用于绑定复选框列表值的函数
返回视图(obj);
}
公开名单单位()
{
List obj=新列表();
var trverse=dbContext.ALFUnits.Where(x=>x.UNITSiteCode.Equals(“AZA”);
foreach(trverse中的变量i)
{
对象添加(新单元{Id=i.Id,RoomNo=i.RoomNo});
}
返回obj;
}
[HttpPost]
公共行动结果Med(UnitVM obj)
{
StringBuilder sb=新的StringBuilder();
foreach(对象UnitObj中的变量项)
{
如果(item.CheckedStatus==true)
{
sb.追加(item.RoomNo+“,”).AppendLine();
}
}
ALFMedcartMaster add=新的ALFMedcartMaster();
add.Room=sb.ToString();//以“101102103”这种格式存储检查过的房间号
dbContext.ALFMedcartMasters.Add(Add);
dbContext.SaveChanges();
返回视图();
}
鉴于

@model BootMvcApplication3.Models.UnitVM

for (int i = 0; i < Model.UnitObj.Count; i++)
        {
                    @Html.CheckBoxFor(m => Model.UnitObj[i].CheckedStatus)
                    @Model.UnitObj[i].RoomNo
                    @Html.HiddenFor(m => Model.UnitObj[i].Id)
                    @Html.HiddenFor(m => Model.UnitObj[i].RoomNo)

        }

<input type="submit" value="Update" />
@model bootmvcapapplication3.Models.UnitVM
对于(int i=0;iModel.UnitObj[i].CheckedStatus)
@Model.UnitObj[i].房间号
@Html.HiddenFor(m=>Model.UnitObj[i].Id)
@Html.HiddenFor(m=>Model.UnitObj[i].RoomNo)
}
在视图中,需要“CheckedStatus”来保存真值和假值
“@Model.UnitObj[i].RoomNo”用于显示实际的房间号。

显示您的模型、视图和控制器。你试过什么。