Ответ 1
Да, привязка модели поддерживает привязку к строке запроса. Однако здесь применяются те же правила привязки модели: имена или выражения свойств должны совпадать в вашем запросе и в вашей модели.
Итак, если у вас есть свойство Name
, вам нужно иметь ключ Name
в строке запроса. Если вы пишете Country.Name
, привязка модели сначала ищет свойство, называемое Country
, а затем свойство Name
для этого объекта страны.
Поэтому вам не нужен префикс Country
для ваших имен свойств, поэтому ваш запрос должен выглядеть следующим образом:
/Country/CheckName?Name=abc&Id=1 HTTP/1.1
Или, если вы не можете изменить запрос, вы можете указать префикс для вашего параметра действия с помощью BindAttribute
:
public ViewResult CheckCountryName([Bind(Prefix="Country")]Country oCountry)
{
//some code
return View(oCountry);
}