powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC Маршрутизация входящих URL
3 сообщений из 3, страница 1 из 1
ASP.NET MVC Маршрутизация входящих URL
    #37833315
DrunkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разбираюсь с ASP.NET MVC 3. Вроде пока все понятно, за исключением одной вещи: не могу понять как framework определяет какой из перегруженных методов действий вызывать?
Есть два метода действий
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class ContractorController : Controller
{
    public ActionResult Edit(Contractor newContractor)
    {
        ...
        return View();
    }
    public ActionResult Edit(Guid contractorId)
    {
        ...
        return View();
    }
}


При запросе вида http://localhost:2082/Contractor/Edit?contractorId=e510c6c8-4a55-42f1-bc8a-4e90c25818a0
генерируется следующие исключение:
Текущий запрос для действия "Edit" на контроллере типа "ContractorController" является неоднозначным на следующих методах действий:
System.Web.Mvc.ActionResult Edit(System.Guid) на типе RegisterApp.Controllers.ContractorController
System.Web.Mvc.ActionResult Edit(RegisterApp.Models.Contractor) на типе RegisterApp.Controllers.ContractorController
На мой взгляд должен был вызваться определенно второй метод.
В чем дело? Объясните все тонкости, пожалуйста.
...
Рейтинг: 0 / 0
ASP.NET MVC Маршрутизация входящих URL
    #37833702
QWLite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну как-то так

http://stackoverflow.com/questions/1141641/overloading-asp-net-mvc-controller-methods-with-same-verb

Перегрузить можно либо с разным количеством входных параметров, либо используя атрибуты ActionName, HttpPost
...
Рейтинг: 0 / 0
ASP.NET MVC Маршрутизация входящих URL
    #37837613
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrunkCatРазбираюсь с ASP.NET MVC 3. Вроде пока все понятно, за исключением одной вещи: не могу понять как framework определяет какой из перегруженных методов действий вызывать?
Есть два метода действий
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class ContractorController : Controller
{
    public ActionResult Edit(Contractor newContractor)
    {
        ...
        return View();
    }
    public ActionResult Edit(Guid contractorId)
    {
        ...
        return View();
    }
}



На мой взгляд должен был вызваться определенно второй метод.
В чем дело? Объясните все тонкости, пожалуйста.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class ContractorController : Controller
{
    public ActionResult Edit(Contractor newContractor)
    {
        ...
        return View();
    }
  [HttpGet]
    public ActionResult Edit(Guid contractorId)
    {
        ...
        return View();
    }
}



Вот так он будет вызываться...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC Маршрутизация входящих URL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]