Ho una forma mvc (realizzato da un modello) che quando forniti, voglio ottenere un parametro Ho il codice per impostare la forma e ottenere il parametroInvio forma e passare dati al metodo del controllore di tipo FileStreamResult
using (@Html.BeginForm("myMethod", "Home", FormMethod.Get, new { id = @item.JobId })){
}
e dentro il mio controller casa ho
[HttpPost]
public FileStreamResult myMethod(string id)
{
sting str = id;
}
Tuttavia, ho sempre arrivare l'errore
La risorsa che stai cercando (o una delle sue dipendenze) potrebbe essere rimossa, il suo nome è stato modificato o temporaneamente non è disponibile . Controlla il seguente URL e assicurati che sia scritto correttamente.
Quando Tralascio il [HttpPost]
, il codice esegue file, ma le variabili str
e id
sono nulli. Come posso risolvere questo per favore?
EDIT
questo può essere causato a causa myMethod nel controllore non è un ActionResult? Mi sono reso conto che quando ho un metodo di tipo Actionresult in cui il metodo è associato a una vista, tutto funziona bene. Ma il tipo FileStreamresult non può essere associato a una vista. Come posso passare i dati a tali metodi?
Si sta specificando un GET nella dichiarazione del modulo, ma si aspetta che chiami il metodo POST? –
Ho tentato di omettere anche HttpPost ma le mie variabili str e id sono sempre nulle. e ho provato a cambiare il formmethod per postare ma nessuna differenza. – jpo
La tua vista è fortemente digitata? –