2017-07-18 39 views
0

複選框模式不綁定的結合,複選框模式不綁定在ASP.NET MVC核心結合

在綁定隱藏輸入正確,但僅複選框不行

這是我的課:

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> 

,這是我的方法操作:

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

    return View(); 
} 
+1

不應手動渲染''元素。改爲使用'@ Html.CheckBoxFor'。 – Dai

+0

是的,它與我合作,謝謝你, – user8328264

+0

你能回答我的問題,所以我可以將你的答覆標記爲答案? – user8328264

回答

0

您可以使用標籤傭工,以及這樣

<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>