Przechowywanie danych formularza

0

Mam formularz służący do płatnością przelewami, jak powinno się zrobić tak żeby na tej stronie z formularzem nie przesyłało się jeszcze danych do zrealizowania przelewu tylko w kolejnym (nowy widok) kroku podsumowania przy zatwierdzeniu. Gdzie zapisać sobie te dane z inputów wpisanych przez użytkownika(dane użytkownika)? Przenieść je na serwer i potem znowu załadować, czy zapisać w przeglądarce, a może należy to zrobić w jakiś inny sposób?

0

Jaka technologia?

0

sory zapomniałem napisać mvc

0

No to dane z formularza na pierwszym ekranie przesyłasz jako viewmodel to akcji kontrolera, tam robisz przekierowanie do kolejnej akcji, która wyświetla ekran podsumowania na podstawie tego view modelu.

Możesz oczywiście robić to wszystko w przeglądarce, możesz w ogóle mieć aplikację SPA w pełni javascriptową i komunikującą się z serwerem przez restowe wywołania, ale robienie tego przy użyciu ASP.NET MVC nie ma wielkiego sensu, bo są lepiej dostosowane pod tym kątem technologie.

0

@somekind, a jeżeli mam cos w stylu

<input type="hidden" name="xxx"> 

i w js przypisuje wartość dla tego inputu, to czy da się potem wartości atrybutu name przypisać do różnych właściwości z modelu widoku ? Jak się da to jak wygląda taka składnia operacji przypisania ?

0

Tak, da się, implementując odpowiedni ModelBinder i rejestrując go w swojej aplikacji. To ModelBinder odpowiada za magię, która sprawia, że z pól formularza tworzony jest obiekt będący argumentem akcji kontrolera.
Prosty przykład np. tutaj: http://www.codeproject.com/Tips/806415/Model-Binding-using-IModelBinder-and-DefaultModelB

0

Dzięki bardzo będę próbował. Alternatywy dla tego już innej nie ma?

0

W jakim sensie alternatywy?
Dostęp do wszystkich inputów w postaci słownika masz w Request.Form, możesz je stamtąd po prostu wyciągnąć po nazwach (atrybut name) inputów.

0

Czyli robiąc to bez modelbindera w taki sposób: http://stackoverflow.com/questions/389149/how-to-access-html-form-input-from-asp-net-code-behind też będzie działać ?

0

Tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1