2014-07-10 2 views
0

ASP.NET MVC 4 프로젝트를 시작했습니다. 모델과 함께 View와 Controller간에 통신하는 데 문제가 있습니다. 보기에 목록을 보내는 방법을 알고 있지만보기에서이 모델을 검색하여 컨트롤러에 보내고 싶습니다.ASP.NET MVC 4 모델 보내기 - 컨트롤러에서보기

내 컨트롤러에서

:

public ActionResult Index() 
    { 
     List<ApplicationModel> listAppli = ApplicationModel.GetListApplications(); 
     return View(listAppli); 
    } 


    public ActionResult Delete(ApplicationModel app) 
    { 
     ApplicationModel.DeleteApplication(app); 
     return RedirectToAction("Index"); 
    } 

그리고 내보기 목록입니다. 삭제/세부 정보/편집 할 때 행에 해당하는 모델을 검색하고 싶습니다. 내 ActionLink에서

@model IEnumerable < Activate.Models.ApplicationModel> 

@foreach (var item in Model) { 
<tr> 
    <td> 
     @Html.DisplayFor(modelItem => item.Code) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Name) 
    </td> 
     @Html.ActionLink("Edit", "Edit", new { id=item }) | 
     @Html.ActionLink("Details", "Details", new { id=item }) | 
     @Html.ActionLink("Delete", "Delete", new{ id=item }) 
    </td> 
</tr> 
} 

, 난 그냥 객체 항목을 보낼 싶어하지만 이벤트가 행에 해당하지 않는 새로운 항목입니다에 항목을 보낼 수 있습니다.

코드에 오류가 있습니까? 아니면 다른 방법을 사용해야합니까? View와 Model 사이의 링크를 생성하는 다른 도구와 마찬가지로 매개 변수로 Object를 보낼 수 있습니까?

감사합니다.

내 ApplicationModel 같은 것입니다 :

public ApplicationModel(ApplicationModel app) 
    { 
     Id = app.Id; 
     Code = app.Code; 
     Name = app.Name; 
    } 
+0

항목을 앱으로 변경해보십시오. 모델에 '항목'이 없습니다 ... – Izekid

+0

다음과 같이하십시오 : @ Html.ActionLink ("삭제", "삭제", 새 {앱 = 항목}) – user3820903

+0

그렇지 않으면 그렇습니다 잃어버린 .... – Izekid

답변

0

당신은 매개 변수로 모델을 게시 할 수 없습니다. 대신 컨트롤러에 id를 보내고 db에서 모델을 가져와야합니다.

+0

"id = item"및 "ApplicationModel id"param으로 변경했지만 ApplicationModel의 새 인스턴스를 계속 전송합니다. – user3820903

+0

Ok, 이드와 함께 할 것이지만 의사 소통하는 것이 더 낫지는 않습니다. 객체로, 나는 데이터베이스에서 항상 연구 할 필요가 없을 것입니다 ... – user3820903