在asp.net mvc中使用foreach动态创建的复选框

问题描述 投票:0回答:2

我有一个列表页面,以在asp.net mvc列表动作(PhotoList-get)中显示来自数据库的所有图像及其名称。在该视图页面(PhotoList.aspx)中,我创建了复选框以删除多行。我想要以下情况

[第一页显示带有第一列复选框和第二列PhotoName的列表,以及在向下一页上的用于删除所选行的按钮。当选中复选框并单击删除按钮时,根据选择,行将从数据库中删除并返回相同的列表页面。

我不知道在哪里编写删除代码以及如何编写代码?

<% foreach (var item in Model) { %>
    <tr>
        <td>
             <input type="checkbox" name="deleteImage" value="<%= item.PhotoId %>"/>
        </td>
        <td>
            <%= Html.ActionLink("Edit", "Edit", new { id=item.PhotoId }) %> 
        </td>
        <td>
            <%= Html.Encode(item.PhotoName) %>
        </td>
    </tr>
<% } %>
<input type="button" name="Delete" value="Delete Selected items"/>      

我有一个列表页面,以在asp.net mvc列表动作(PhotoList-get)中显示来自数据库的所有图像及其名称。在该视图页面(PhotoList.aspx)中,我创建了复选框以删除多行。我...

javascript asp.net-mvc model-view-controller foreach checkboxlist
2个回答
0
投票

用于删除的代码将被写入用于删除的HttpPost操作中。如果您使用的是myModel],则如下所示的内容应该可以工作

[HttpPost]
public ActionResult Delete(myModel deleteEntries) //This is the post-version of your Action that rendered the view..If it's Edit, then change the name to Edit
{
    var deleteList = db.deleteEntries.where(d => d.checkBox == true).ToList();
    foreach (myList my in deleteList)
    {
        db.myList.Remove(my); // remember db should be your DbContext instace
    }
    db.SaveChanges();
}

0
投票

使用jQuery您可以做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.