2012-11-23 57 views
0

MVC3具有實體框架,可以在控制器內創建,刪除和編輯方法。 我正在製作一個控制面板,允許編輯多個表格。如何將控制器(實體框架)與另一個控制器(控制面板)結合?控制內的c#mvc3控件

任何巧妙的解決辦法?

例如http://example.com/Control_panel/Another_Controller

+1

有助於查看一些代碼。你有什麼嘗試? –

+0

請指定您是在討論如何從同一頁面編輯多個表格,或只是有機會打開不同的頁面來編輯不同的表格。 – Kath

回答

0

好這一點,有兩種方式可以說你在你的ControlPanel控制控制器默認ControlPanel控制動作,你可以有進來說:你想控制的變量,讓叫它控件ID,然後你可以使用RedirectToAction去採取行動,而不是像這樣

public ActionResult controlPanel(object controlId){ 
    if(controlId.equals(something)){ 
     RedirectToAction(SomeAction, SomeController); 
    } 
} 

另一種是您可以使用同樣的想法,並直接調用控制器動作。就像這樣:

var result= new SomeController().SomeAction(); 

雖然這是打破MVC設計,你應該有它是一個更普遍的功能,而不是一個控制器,作爲控制器設計用於控制模型和視圖之間datamovement。如果我看到一些代碼,我可以給你一個更具體的迴應。

0

如果要從同一頁面的多個表中編輯數據,請使用視圖模型來完成此操作。您在視圖中呈現給用戶的數據不需要與表格或模型之間存在1:1的關係。

視圖模型將允許您從各種來源中選取數據,向用戶顯示以供查看或編輯,並且如果用戶保存相同,則可以從控制器操作中選擇視圖模型並將該數據用於更新一個或多個表格。