2012-05-04 14 views
7

Jaki jest zdefiniowane dla zachowania formy obowiązującej w ASP.NET/MVC Jeśli po formularz i jego działanie ma parametry zapytania i masz dane formularza?wiążące POST z łańcucha zapytania i forma modelu Parametry

Na przykład:

<form action="my/action?foo=1" method="post"> 
    <input type="hidden" name="bar" value="2"> 
</form> 

Jeśli taki formularz jest składany powinien kontroler dostać zarówno foo i bar lub tylko jeden z nich?

Odpowiedz

7

Kontroler otrzyma obie wartości. Domyślny segregator modelu będzie próbował znaleźć dopasowania dla parametrów zarówno z identyfikatora URI (zarówno ciąg zapytania lub parametry trasy), jak i treści (a dane formularzy są obsługiwane w trybie natychmiastowym).

0

Myślę, że powinno być możliwe uzyskanie obu. W tym przypadku chciałbym utworzyć ViewModel, który zawiera dwie ciąg lub właściwości int, jeden o nazwie "foo" i drugi o nazwie "pasek" i mieć ActionResult akceptować ViewModel. Powinieneś zobaczyć obie wartości są w

1

Uwaga, można zobaczyć ten jest wspierany przez Html.BeginForm pomocnika, to zrobić poprzez routeValues.

@Html.BeginForm("ActionName", "ControllerName", new { foo = "1" }) 

To zasadniczo generuje ten sam html jako tagu formularza, ale chciał opublikować post dla tych, którzy znaleźli to pytanie i chcieli wiedzieć, jak przekazać dodatkowe wartości, które nie są częścią formularza, za pomocą helpera BeginForm.

Powiązane problemy