У меня есть очень простой проект ASP.Net MVC, в котором я хотел бы использовать имя параметра id для одного из моих действий контроллера. Из всего, что я прочитал, это не должно быть проблемой, но по какой-то причине при использовании имени параметра id не получается извлечь значение из строки запроса, но если я изменю его на любое другое имя, оно будет работать.
У меня есть только один маршрут в моем global.asx
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Мой метод контроллера:
public ActionResult Confirm(string id)
{
....
}
URL-адрес http://mysite/customer/confirm/abcd работает. Сбой URL http://mysite/customer/confirm?id=abcd.
Если я изменю метод контроллера на:
public ActionResult Confirm(string customerID)
{
....
}
тогда работает URL http://mysite/customer/confirm?customerID=abcd.
Есть ли что-то особенное в использовании "id" в качестве параметра в строке запроса ASP.Net MVC?
Обновление: идентификатор изменен с 1234 на abcd, мои идентификаторы на самом деле являются строками.