Muss das model verbindliche Arbeit über den Abfrage string in asp.net mvc
Muss das model verbindliche Arbeit über query-string ?
Wenn ich eine get-Anfrage, wie :
GET /Country/CheckName?Country.Name=abc&Country.Id=0 HTTP/1.1
Würden Sie die folgende Methode in CountryController seine oCountry argument mit Id-und Name-Eigenschaften mit Werten aus der query-string ?
public ViewResult CheckCountryName(Country oCountry)
{
//some code
return View(oCountry);
}
Aus irgendeinem Grund bin ich immer Id 0 und den Namen als null in oCountry Objekt. Was fehlt ?
InformationsquelleAutor der Frage Brij | 2013-06-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, die Modell-Bindung unterstützt die Bindung aus dem Abfrage-string. Allerdings das gleiche Modell, verbindliche Regeln gelten auch hier: die Eigenschaft von Namen/Ausdrücken sollte sich in übereinstimmung mit den in Ihrem Auftrag und in Ihrem Modell.
Also, wenn Sie einen
Name
Eigenschaft braucht man dann eineName
Schlüssel in der Abfrage-string. Wenn Sie schreibenCountry.Name
das Modell verbindliche ersten Blick für eine Eigenschaft namensCountry
und dann einName
Eigenschaft auf, dass die Landes-Objekt.So brauchen Sie nicht die
Country
Präfix für Sie die property-Namen, damit Ihre Anfrage sollte so Aussehen:Oder wenn Sie können nicht ändern, die Anfrage können Sie den Präfix für den action-parameter mit dem
BindAttribute
:InformationsquelleAutor der Antwort nemesv