Возможно ли перегрузить действия в контроллере? Я не нашел никакой информации об этом, и когда я попытался, я получил эту ошибку:
Текущий запрос на действие «Создать» для типа контроллера «InterviewController» неоднозначен между следующими методами действия:
System.Web.Mvc.ViewResult Create () для типа> MvcApplication4.MvcApplication4.InterviewController
System.Web.Mvc.ViewResult Create (Int32) для типа> MvcApplication4.MvcApplication4.InterviewController
Я пытался сделать это по-другому, и я также получаю новую ошибку, которую не могу исправить. Фактически я создал новое действие (называемое create_client вместо create)
Мне нужно 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 ...)
Есть идеи получше?