0

ActionLink()에 많은 REMOVAL에 많은 :MVC 3 - 엔티티 프레임 워크 및 POCO - I가 많은 관계로 많은이

회사 -----> CompanyVenue < ------ 장소

현재 회사 및 회사에 장소를 장소에 추가 할 수 있습니다. 사용자가 장소를 선택하고 ADD VENUE 버튼을 클릭하면이 전달

var venue = context.Companies.Select(x => x.Venues.Where(xy => xy.VenueId == id)); 
var company = venue.Select(x => x.); 
ViewData["CompanyFor"] = company; 
ViewData["VenueFor"] = venue; 

enter image description here : (이 컨트롤러 로직을 사용) :

enter image description here 추가 장소 링크는이보기에 사용자 소요 다시 컨트롤러에 뷰 모델 :

Company c = context.Companies.Single(x => x.CompanyId == model.CompanyId); 
Venue v = context.Venues.Single(x => x.VenueId == model.VenueId); 
c.Venues.Add(v); 
context.SaveChanges(); 

그래서 Many Many Add를 구현하는 방법입니다. 그러나 도움을 찾고 있는데 제거 컨트롤러 코드 /보기 (필요한 경우) /보기 모델 일 수 있습니다. (단, 필수적인 간단한 조치가 필요하지는 않습니다.)

회사 정보 보기를 얻으려고합니다 각 Venue Item 아래에있는 링크을 제거하여 [CompanyVenue] (many2many) 관계를 제거하십시오.

이 ActionLink() 이런 종류의 사용이 개 값 대신 중 하나를 통과 할 수있는 경우 :

@Html.ActionLink("Remove", "VenueRemove", new { Id = venue.VenueId }, new { Cid = model.CompanyId }) 

가 쉽게 될 것입니다,하지만 난 방법 (load 메소드)을 파악하지 않은 모두 통과 값 (Id & Cid)을 다시 VenueRemove() 컨트롤러 동작으로 반환하면 RedirectToAction()이 회사 세부 정보보기로 돌아갑니다.

누군가가 그 방법을 알고 있다면 알려 주시기 바랍니다. (대런에게 감사드립니다.)

나는 앞을 내다 보았다.보기를 사용하여 작업 제거가있다.

하지만 제거 버튼을 클릭하여 링크/버튼을 제거하고보기를 사용하지 않고 장소를 제거하도록 할 수 있습니까?

아마도 AJAX 요청 또는 무엇인가 .... ???

답변

3

이 같은 VenueRemove 행동에 두 개의 매개 변수를 전달할 수 있습니다

@Html.ActionLink(
    "Remove", 
    "VenueRemove", 
    new { 
     Id = venue.VenueId, 
     Cid = model.CompanyId 
    } 
) 
+0

당신은 내가 누구 응답 있는지 확인하기 위해 여기 다시 확인하기 전에 그냥 5 분 정도가 알아 냈 알고있다. 그걸 알아 낸 후에 2 개의 ID를 사용하는 컨트롤러 코드를 추가했습니다 : ||| 회사 c = context.Companies.Single (x => x.CompanyId == Cid); 장소 v = context.Venues.Single (x => x.VenueId == Id); c.Venues.Remove (v); 컨텍스트.변경 사항을 저장하다(); return RedirectToAction ("Details", new {id = Cid}); ||| 하지만 오류가 발생했습니다 (요청 된 URL :/Company/VenueRemove/2) || Action()을 연계하여 작동하도록하는 방법이 있습니까? –

+0

나는 그것을 처리하기 위해 지금 View를 만들 수 있다고 생각하지만, 나는이 앱에서 더 나아갈 때부터 제거를 승인하기 위해 다른 뷰로 사용자를 보내지 않고도 가능할 것으로 기대했다. 1000 명의 직원 ---> EmployeeCustomer <--- 고객 관계, 그리고 나는 제거 프로세스의 라인을 내려 오면서 오랜 시간이 걸리는 것을 알 수 있습니다. –

관련 문제