Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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 CORE中的模型绑定中未绑定复选框_C#_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET MVC CORE中的模型绑定中未绑定复选框

C# ASP.NET MVC CORE中的模型绑定中未绑定复选框,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,复选框未在模型绑定中绑定 bind中的隐藏输入正确,但仅复选框无效 那是我的班级: public class SelectedIDsViewModel { public bool IsChecked { get; set; } public int ID { get; set; } } 这就是复选框: <form asp-action="DeleteAll" asp-controller="Admin" method="post"> @for (int i =

复选框未在模型绑定中绑定

bind中的隐藏输入正确,但仅复选框无效

那是我的班级:

public class SelectedIDsViewModel
{
    public bool IsChecked { get; set; }

    public int ID { get; set; }

}
这就是复选框:

<form asp-action="DeleteAll" asp-controller="Admin" method="post">

@for (int i = 0; i < Model.ArticleDetails.Count(); i++)
{

      <input name="@("ddd["+ i + "].IsChecked")" type="checkbox" />
      <input name="@("ddd["+ i + "].ID")" 
        value="@Model.ArticleDetails[i].ArticleID" type="hidden" />
}

</form> 

@对于(int i=0;i
这就是我的行动方法:

[HttpPost]
public IActionResult DeleteAll(List<SelectedIDsViewModel> ddd)
{

     return View();
}
[HttpPost]
公共IActionResult DeleteAll(列表ddd)
{
返回视图();
}

您也可以像这样使用标记帮助器

<form asp-action="DeleteAll" asp-controller="Admin" method="post">

    @for (int i = 0; i < Model.ArticleDetails.Count(); i++)
    {

        <input asp-for="ArticleDetails[i].ID" name="@("ddd["+ i + "].ID")" type="hidden" />

        <input asp-for="ArticleDetails[i].IsChecked" name="@("ddd["+ i + "].IsChecked")" />
    }

    <input type="submit" />
</form>

@对于(int i=0;i
您不应该手动渲染
元素。改为使用
@Html.CheckBoxFor
。是的,这对我很有效,谢谢,你能回答我的问题吗,这样我就可以把你的回答标记为答案了?