Jeśli używasz metody typu Html.TextBoxFor()
może dobrze skończyć z pól formularza, które mają kropek w nazwie, tak:Parametr kontrolera MVC dla elementu formularza z kropką w nim?
<input type="text" name="Contact.FirstName" id="Contact_FirstName" />
Jeśli chcesz MVC mapować te pola do parametrów nazwanych w twoim kontrolerze (w przeciwieństwie do parametru obiektu lub czegoś podobnego), musisz poprawnie uzyskać nazwy parametrów. Co zrobić z kropkami?
Ani:
[HttpPost]
public ActionResult FooAction(string firstName)
nie tak:
[HttpPost]
public ActionResult FooAction(string contact_FirstName)
wydają się działać.
Edycja: Gdyby odpowiedni parametr obiektu działał (np. see clicktricity's answer), ale szukam sposobu, aby to zrobić z nazwanymi parametrami wartości.
Hej, to interesujące. Dlaczego nazywasz to nadużyciem? Czy nie do tego służy BindAttribute? – codeulike
Wygląda na to, że właściwość BindAttribute.Prefix była przeznaczona tylko do nadania aliasu instancji typu złożonego. –
Działa również na MVC 2. Nazwałbym to "twórczym", a nie hackerem. – codeulike