Yes, the model binding supports binding from the query string. However the same model binding rules apply here also: the property names/expressions should match in your request and in your model.
So if you have a Name
property then you need the have a Name
key in the query string. If you write Country.Name
the model binding first look for a property called Country
and then a Name
property on that country object.
So you don't need the Country
prefix for you property names, so your request should look like this:
/Country/CheckName?Name=abc&Id=1 HTTP/1.1
Or if you cannot change the request you can specify the prefix for your action parameter with the BindAttribute
:
public ViewResult CheckCountryName([Bind(Prefix="Country")]Country oCountry)
{
//some code
return View(oCountry);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…