Ho un risultato di azione ExcelResult che restituisce documenti Microsoft Excel, in base allo Stephen Walther tip. Fondamentalmente scrive solo un flusso verso la risposta. Quando il debug VS 2010 (ASP.NET Dev Server), funziona benissimo, ma quando lo faccio funzionare su una scatola di IIS 6, ottengo il seguente errore:Esegui l'azione del controller MVC senza visualizzazione?
The view 'GenerateExcel' or its master was not found. The following locations were searched: ~/Views/Home/GenerateExcel.aspx ~/Views/Home/GenerateExcel.ascx ~/Views/Shared/GenerateExcel.aspx ~/Views/Shared/GenerateExcel.ascx
Non c'è vista associata, e quindi nessun file ma non dovrebbe esserci. Che cosa sto facendo di sbagliato?
UPDATE
Semplicemente tornando vuoto al posto di un ActionResult, non ho più questo problema. Invece di restituire ExcelResult, sto chiamando esplicitamente il suo metodo ExecuteResult, che sta scrivendo sul flusso di output.
Prima
public ActionResult GenerateExcel()
{
return this.Excel(parameters);
}
Dopo
public void GenerateExcel()
{
ExcelResult excelResult = this.Excel(parameters);
excelResult.ExecuteResult(null);
}
Dopo di che, ho avuto problemi di sicurezza con la mia autenticazione NTLM, ma 'andato via' (nel senso mi aspetto che tornano). Per ora, però, tutto funziona correttamente.
Non pensi che sia un po 'difficile dire cosa stai facendo male senza mostrare quello che stai facendo (del codice o qualcosa del genere)? Sfortunatamente non ho capacità telepatiche. –
Bene, puoi praticamente vedere il codice sul link. Sta restituendo un ActionResult che è in realtà un ExcelResult il cui metodo ExecuteResult sta scrivendo nel flusso di output. – DougJones