是否有可能在控制器中執行動作的超載?我還沒有發現任何關於它的信息,當我試圖,我得到這個錯誤:控制器中的動作過載
The current request for action 'Create' on controller type 'InterviewController' is >ambiguous between the following action methods: System.Web.Mvc.ViewResult Create() on type >MvcApplication4.MvcApplication4.InterviewController System.Web.Mvc.ViewResult Create(Int32) on type >MvcApplication4.MvcApplication4.InterviewController
我試圖做到這一點的另一種方法,我也得到一個新的錯誤,我無法修復。實際上,我創建了一個新動作(稱爲create_client而不是創建)
我需要2種創建「機會」的方法。
- 我只是打電話給我,我收到一個空的表格,我只需要插入數據。
- 從客戶的頁面,我必須創建一個「機會」與客戶已經完成時,窗體顯示給用戶。 (需要生產力,用戶必須儘可能快地執行操作)。
在表「機會」中,我有一個名爲「FK_opp_client」的列,它等於客戶端表中的列「idClient」。
我不明白我能做第二種方式。
我在控制器中創建了一個新動作。
'
' GET: /Opportunite/Create_client
Function Create_client(idclient) As ViewResult
'Dim FK_Client = (From e In db.client
'Where(e.idClient = idclient)
' Select e.nomCompteClient).ToString()
'ViewBag.FK_client = New SelectList(db.client, "idClient", "nomCompteClient", idclient)
Dim opportunite As opportunite = db.opportunite.Single(Function(o) o.idOpportunite = 5)
opportunite.FK_Client = idclient
ViewBag.FK_Client = New SelectList(db.client, "idClient", "nomCompteClient", opportunite.FK_Client)
Return View(opportunite)
End Function
我試過幾件事情得到我想要的東西,上一次是複製的內容是在「編輯」動作完成,但對於空的排名。 (所以我在我的數據庫中創建了一個空列)。我認爲這不是一個好主意(想象有人想更新idOpportunite = 5的DB)
有什麼更好的想法?
thx爲我花費的時間。我將使用變成動作的方法。對於另一個問題。有什麼更好的想法,我可以如何改進我發現的方式來處理預填表格? – 2012-03-12 15:54:15