은 다음과 같은 고려 :단일 링크로 MVC에서 여러 항목을 삭제하는 방법은 무엇입니까?
부분보기 :
<%= Html.ListBox("BlackList", Model.Select(
x => new SelectListItem
{
Text = x.Word,
Value = x.ID.ToString(),
Selected = Model.Any(y=> y.ID == x.ID)
}))%>
홈페이지보기 :
<td><% Html.RenderPartial("GetBlackList", ViewData["BlackList"]); %></td>
컨트롤러 :
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DeleteWord(int[] wordIdsToDelete)
{
if (!ModelState.IsValid)
return View();
try
{
_wordManager.DeleteWord(wordIdsToDelete);
return RedirectToAction("WordList");
}
catch
{
return View();
}
}
모델 (WordManager)
public void DeleteWord(int[] idsToDelete)
{
var dataContext = GetLinqContext();
var currentList = GetTabooWordList();
foreach (var id in idsToDelete)
{
foreach (var item in currentList)
{
if (item.ID == id)
{
dataContext.BadWords.DeleteOnSubmit(item);
}
}
}
dataContext.SubmitChanges();
}
문제는 정확하게 idsForDel 매개 변수를 어떻게 전달합니까? I.E 클라이언트 데이터를 서버에 전달해야합니까?
<%= Html.ActionLink("Delete Selected", "DeleteWord", "AdminWord", new { wordIds = idsForDel })%>
jQuery로 만들 수 있다고 생각합니다. 어떤 아이디어?
감사합니다. 하지만 배열을 전달하려면 어떻게해야합니까? – Alexander
나는 실수했다. dataContext.BadWords.DeleteAllOnSubmit ( currentList.Where (항목 => idsToDelete.Containts (item.id)). ToList() ); – takepara