Wenn Sie die Html.TextBoxFor()
Typ Methoden verwenden, können Sie auch mit Form-Steuerelemente am Ende die Punkte in ihren Namen haben, wie folgt aus:MVC Controller-Parameter für ein Formularelement mit einem Punkt darin?
<input type="text" name="Contact.FirstName" id="Contact_FirstName" />
Wenn Sie MVC Genannten Felder Parameter zur Karte in Ihrem Controller (im Gegensatz zu einem Objektparameter oder was auch immer) müssen Sie die Parameternamen richtig beziehen. Was ist mit den Punkten zu tun?
Weder diese:
[HttpPost]
public ActionResult FooAction(string firstName)
das nicht:
[HttpPost]
public ActionResult FooAction(string contact_FirstName)
zu funktionieren scheint.
Edit: Mit einem geeigneten Objektparameter würde funktionieren (zB see clicktricity's answer), aber ich suche nach einer Möglichkeit, es mit benannten Wert-Parameter zu tun.
Hey, das ist interessant. Warum nennst du es einen Missbrauch? Ist das nicht was BindAttribute ist? – codeulike
Es scheint, dass die BindAttribute.Prefix-Eigenschaft nur dazu gedacht ist, der Instanz des komplexen Typs einen Alias zu geben. –
Es funktioniert auch auf MVC 2. Ich würde das eher "kreativ" als einen Hack nennen. – codeulike