I wish to delete multiple data-row with MultiSelect and I've no idea where to start.
I've a details page where I have multiple Reviews, created by users. So far I can only delete one at time. How do I add MultiSelect and delete all selected at the same time?
Review model.
public System.Guid Id { get; set; }
public System.Guid CreatorId { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Description { get; set; }
View - that list all created reviews
@model IEnumerable<xxxx.Review>
<h2>Reviews</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td style="width: 20%; height: 20%">
<p>
@Html.DisplayFor(modelItem => item.Description)
</p>
</td>
<td>
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>
Controller
public ActionResult MyReviews(Guid? id) {
id = new Guid(Session["LoggedUserID"].ToString());
var review = db.Reviews.Where(m => m.CreatorId == id);
return View(review.ToList());
}
Delete action (where I use via View)
public ActionResult Delete(Guid? id) {
if (id == null) {
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Review review = db.Reviews.Find(id);
if (review == null) {
return HttpNotFound();
}
return View(review);
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(Guid id) {
Review review = db.Reviews.Find(id);
db.Reviews.Remove(review);
db.SaveChanges();
return RedirectToAction("Index");
}