Mam formularz mvc (z modelu), który gdy przedłożone, chcę uzyskać parametr Mam kod, aby ustawić formę i uzyskać parametrSkładając formularz i przekazać dane do metody kontrolera typu FileStreamResult
using (@Html.BeginForm("myMethod", "Home", FormMethod.Get, new { id = @item.JobId })){
}
i wewnątrz mojego kontrolera domu mam
[HttpPost]
public FileStreamResult myMethod(string id)
{
sting str = id;
}
ja jednak zawsze pojawia się błąd
Zasób, którego szukasz (lub jedna z jego zależności) mógł zostać usunięty, miał zmienioną nazwę lub tymczasowo jest niedostępny. Sprawdź następujący adres URL i upewnij się, że jest on poprawnie zapisany.
Kiedy pominąć [HttpPost]
, kod uruchamia plik ale zmienne str
i id
są nieważne. Jak mogę to naprawić?
EDIT
Może to być spowodowane bo myMethod w sterowniku nie jest ActionResult? Zdałem sobie sprawę, że gdy mam metodę typu Actionresult, gdzie metoda jest związana z widokiem, wszystko działa dobrze. Ale typ FileStreamresult nie może być powiązany z widokiem. Jak mogę przekazać dane do takich metod?
Podajesz GET na deklaracji formularza, ale oczekujesz, że wywoła ona twoją metodę POST? –
Próbowałem pomijając HttpPost, ale moje zmienne str i id są zawsze puste. i próbowałem zmienić metodę formularza, aby opublikować, ale bez różnicy. – jpo
Czy Twój widok jest mocno napisany? –