2016-08-20 4 views
0

나는 (Html.ActionLink)로 삭제 필드가있는 (webgrid), 이제 컨트롤러에 return id 값 (linkDelete 변수) 하지만 오류가 있습니다.MVC, Html.ActionLink, WebGrid, Linq, 모델, 뷰, 컨트롤러

보기 :

<div id="tblGrid"> 
    @using (Html.BeginForm()) 
    { 
     @wb.GetHtml(tableStyle: "gTable", columns: 
      wb.Columns(wb.Column("کد", format: (item) => item.GetSelectLink(item.Id.ToString())), 
       wb.Column("Date", "تاریخ"), 
       wb.Column("Name", "نام"), 
       wb.Column("Email", "ایمیل"), 
       wb.Column("Tel", "تلفن"), 
       wb.Column("Status", "وضعیت بررسی"), 
       wb.Column(header: "ویرایش", format: (item) => 
       { 
        var linkEdit = Html.ActionLink("تغییر", "Edit", new { ID = item.ID }); 
        return linkEdit; 
       }), 
       wb.Column(header: "حذف", format: (item) => 
       { 
        var linkDelete = Html.ActionLink("امحاء", "Delete", new { ID = item.ID }); 
        return linkDelete; 
       }) 
      ) 
     ) 
    } 

컨트롤러 :

public ActionResult Delete(int linkDelete) 
{ 
    var m = db.Contacts.First(j => j.ID == linkDelete); 
    db.Contacts.DeleteOnSubmit(m); 
    db.SubmitChanges(); 
    return RedirectToAction("Index"); 
}   
+0

model-view-controller 태그는 패턴에 대한 질문입니다. ASP.NET-MVC 구현을위한 특정 태그가 있습니다. –

답변

0

귀하의 삭제 방법 매개 변수 이름은 linkDelete입니다. 그러나 Html.ActionLink를 사용하여 링크를 만들면 ID이라는 매개 변수를 전달하게됩니다!

서명을 메소드 서명과 일치하도록 변경하십시오.

Html.ActionLink("امحاء", "Delete", new { linkDelete = item.ID }); 
+0

오류는 다음과 같습니다. 리소스를 찾을 수 없습니다. 설명 : HTTP 404. 찾고있는 리소스 (또는 해당 종속성 중 하나)가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수없는 리소스 일 수 있습니다. 다음 URL을 검토하고 철자가 올바른지 확인하십시오. 요청 된 URL :/Admin/Dashboard/Delete – Azadeh

+0

관리 영역의 대시 보드 컨트롤러에서 삭제 작업 방법이 있습니까? – Shyju

+0

예, 경로 iz : http : // localhost : 1919/관리자/대시 보드/색인 – Azadeh