【发布时间】:2014-10-21 13:29:03
【问题描述】:
我正在尝试使用 asp.net mvc 构建一个简单的待办事项应用程序。 我的应用有 2 个模型: 1 用于列表 (ToDoLijst.cs)
namespace OnsLijstje.Models
{
public class ToDoLijst
{
[Key]
public int LijstId { get; set; }
public string Titel { get; set; }
public virtual ICollection<LijstItem> LijstItems { get; set; }
}
}
列表中的项目 (lijstItems.cs) 为 1。
namespace OnsLijstje.Models
{
public class LijstItem
{
[Key]
public int LijstItemId{ get; set;}
public int LijstId { get; set; }
public string Item { get; set; }
public virtual ToDoLijst TodoLijst { get; set; }
}
}
现在我有一个视图,其中列表与它们的项目一起显示,这很好用。这是 ToDoLijst 视图的 Index.cshtml。
<div class="container lijsten">
@foreach (var lijst in Model.Lijsten)
{
<div class="col-lg-5 lijst">
<div class="row">
<div class="col-lg-11">
<h3>
@Html.DisplayFor(modelItem => lijst.Titel)
</h3>
</div>
<div class="col-lg-1">
@using (Html.BeginForm("Delete", "ToDoLijsten", new { id = Html.DisplayFor(modelItem => lijst.LijstId) }))
{
@Html.AntiForgeryToken()
<div class="form-actions no-color pull-right">
<button type="Submit" value="Delete" class="btn btn-xs btn-default btn-close"><span class="glyphicon glyphicon-remove"></span></button>
</div>
}
</div>
</div>
@foreach (var item in Model.LijstItems)
{
if (item.LijstId == lijst.LijstId)
{<div class="row">
<div class="col-lg-11">
<p>@Html.DisplayFor(modelItem => item.Item)</p>
</div>
<div class="col-lg-1">
<a href="@Url.Action("Delete", "LijstItems", new { id = item.LijstItemId})"><span class="glyphicon glyphicon-remove"></span></a>
</div>
</div>
}
}
</div>
}
我可以删除整个列表。 Bud 现在我希望能够从列表中逐个删除项目。我使用下面的代码来执行此操作,它将我带到 LijstItems 视图的视图“删除”。 有没有办法直接删除项目
这是我使用的代码:
<a href="@Url.Action("Delete", "LijstItems", new { id = item.LijstItemId})"><span class="glyphicon glyphicon-remove"></span></a>
谢谢
【问题讨论】:
-
你能从你的控制器发布代码吗?
-
您的删除操作不需要返回视图,它可以只返回一个简单的 JSON 确认消息,客户端可以在 ajax 发布后显示该消息。
标签: c# asp.net asp.net-mvc asp.net-mvc-5 entity-framework-6