Почему параметр действия не может иметь то же имя, что и действие? - PullRequest
2 голосов
/ 22 декабря 2011

Скажем, у меня есть действие

public ActionResult Details(MyModel details)

В этом случае детали всегда будут нулевыми, поскольку имя соответствует имени метода.Переименуйте его во что-то другое - и оно работает нормально.Для меня это две разные вещи - одна - это URL, другая - это данные POST.Кто-нибудь видел MS, объясняющую это?

Ответы [ 2 ]

6 голосов
/ 22 декабря 2011

Это не ноль, потому что действие называется Details.Это нуль, потому что у вас есть свойство в классе MyModel, которое называется Details.Таким образом, механизм связывания по умолчанию не знает, хотите ли вы назначить Details свойство MyModel или MyModel напрямую.Поэтому либо переименуйте имя аргумента действия, либо имя свойства Details в классе вашей модели.

0 голосов
/ 22 декабря 2011

Это связано с соглашением MVC о конфигурации. Это создает некоторые ограничения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...