我有多對多的關係爲:MVC 3 - 實體框架與POCO - 多對多拆卸上的ActionLink()
公司-----> CompanyVenue < ------ 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;
一旦用戶選擇的地點,並點擊ADD VENUE按鈕,它通過視圖模型回控制器:
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();
所以這就是我爲許多人添加的。但是,我在尋找一些幫助去除控制器代碼/視圖(如果需要)/可能視圖模型(但實在看不出什麼是必不可少的一個簡單的動作需要)
在公司詳細信息查看我正在嘗試獲取REMOVE鏈接在每個Venue項目下刪除[CompanyVenue](many2many)關係。
如果有可能使用這種類型的ActionLink()來傳遞2個值,而不是一個:
@Html.ActionLink("Remove", "VenueRemove", new { Id = venue.VenueId }, new { Cid = model.CompanyId })
這將是容易的,但我還沒有想出一個辦法(負載方法),以通過這兩個值(Id & Cid)返回到VenueRemove()控制器操作,然後返回到公司詳細信息視圖的RedirectToAction()。
如果有人知道如何做,請讓我知道。(感謝Darin爲了這個問題)
我繼續前進,並使用視圖去除工作。
但無論如何,通過點擊REMOVE鏈接/按鈕讓刪除工作,讓它去掉視圖的場地嗎?
也許一個AJAX請求或東西....?
你知道,我只是想通了這一點大約5分鐘前我檢查回來,看是否有人迴應。在弄清楚之後,我添加了一些控制器代碼來使用2個ID:|||公司c = context.Companies.Single(x => x.CompanyId == Cid); Venue v = context.Venues.Single(x => x.VenueId == Id); c.Venues.Remove(v); 上下文。保存更改(); return RedirectToAction(「Details」,new {id = Cid}); |||但是我收到一個錯誤(請求URL:/ Company/VenueRemove/2)|||有沒有辦法讓Action()與鏈接工作? – 2011-04-05 11:21:53
我想我現在可以創建一個視圖來處理這個問題,但我很希望可以不必將用戶發送到另一個視圖來批准刪除,因爲當我在這個應用程序中得到更進一步的時候,會有幾千僱員---> EmployeeCustomer <---客戶關係,我可以看到在拆除過程中需要很長時間才能得到一些投訴。 – 2011-04-05 11:26:09