Cześć,
Chcę napisać aplikację webową, która będzie pobierać od użytkownika zestawienie faktur -> przerabiać je do innego formatu (XML) i udostępniać użytkownikowi.
Koncepcja jest taka: użytkownik wskazuje na stronie plik -> program go odczytuje -> udostępnia plik do pobrania w XML -> dodatkowo wyświetla na stronie formularz z listą znalezionych faktur -> użytkownik może ręcznie zmodyfikować część danych (np. kwotę, numer etc.) -> po modyfikacji danych ma możliwość z updet'owania danych w pliku XML (uwzględniając naniesione dane) -> a więc trzeba ponownie wysłać formularz z danymi, ale już nie z pliku, tylko te wyświetlone na ekranie, które użytkownik ręcznie zmodyfikował...
Załóżmy, że mam prostą klasę Faktura, która ma dwa pola:
class Faktura {
public string Numer
public decimal Kwota; }
A moje pytanie brzmi: czy w takiej sytuacji akcja controllera po wysłaniu formularza ([HttpPost]) może przyjmować List<Faktura> fakutry, które będą ponownie wracać do tej samej akcji i wyświetlane w formularzu z możliwością edycji?
Jeśli tak to jak w widoku powinienem odwoływać się do poszczególnych faktur znalezionych w pliku? Jak nazywać poszczególne pola formularza? Czy mogę jakoś stosować index-y?
Chodzi mi o to, żeby po wysłaniu formularza zostało rozpoznane, że została wysłana lista obiektów Faktura.
Jak jest jeden obiekt to jest to proste, bo wtedy binding sam sobie przypisuje do obiektu dane, które się tak samo nazywają (jak poniżej):
<form action="/Home/FormTest" method="post">
<label for="numer">Numer:</label>
<input type="text" name="Numer" value="@Model.Numer" />
<label for="kwota">Kwota:</label>
<input type="number" name="Kwota" value="@Model.Kwota" />
<button type="submit">Update</button>
</form>
A jak ma wyglądać formularz, który składa się z danych dotyczących wielu obiektów Faktura i który ma być przekazany do metody przyjmującej jako argument List<Faktura>?
Z góry dziękuję za pomoc.