如何从视图中的模型列表中删除项目?

时间:2017-01-21 13:56:10

标签: javascript jquery asp.net-mvc

我有模型列表并将其发送到视图。我想删除几行模型列表。 如何从视图中删除列表?

List<Booking> models = new List<Booking>();
foreach (string id in items)
{
   models.Add(
             new Booking()
                 { ...}
}
return View(models);

并进入视图:

  <main id="BigPanel" class="flexcol border_radius" role="main">
     @using (Html.BeginForm("FinalReserve", "Booking", FormMethod.Post, new { @class = "cart-rooms flexcol" }))
    {
        for (int i = 0; i < Model.Count; i++)
        {
            <div class="cart-room setborder border_radius flexrow">

                @Html.HiddenFor(m => Model[i].Price)
                @Html.HiddenFor(m => Model[i].RRId)
                @Html.HiddenFor(m => Model[i].CheckOutDate)
                <span>@Model[i].FromDate</span>
                <span>@Model[i].CheckInDayName</span>
                <span>@Model[i].DiscountPercent</span>
                <span>@Model[i].Price</span>
                <button onclick="removelist(@Model[i].RRId)"> Delete</button>
            </div>

        }
        <hr style="width:100%;" />
        <div class="cart-room flexrow">
            <div class="sum flex1 flexcol">
               <div class="flexrow">
                    <span class="flex1">@Model.Sum(m => m.Price)</span>
               </div>
               <div class="paybtn-group">
                  <button class="btns" onclick="history.go(-1); return false;">    back       </button>
                    <button class="mbtn_green btn_cart" type="submit">
                      submit
                    </button>
                </div>
            </div>
        </div>
    }
</main>

当用户单击删除按钮时,该行必须从列表中删除。和其他行的提交。感谢。

1 个答案:

答案 0 :(得分:1)

您可以通过AJAX,负责删除的控制器操作的异步调用,或者您可以简单地调用允许您从列表中删除项目的操作(正常href链接)来实现此目的。

如果您通过代码创建模型,Visual Studio可以创建控制器和正确的视图来编辑,删除和添加。为此,您只需添加一个新控制器,选择型号名称并单击确定。 https://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview (在VS 2015非常相似)