我有一個ExcelResult操作結果,它返回基於Stephen Walther tip的Microsoft Excel文檔。基本上它只是將一個流寫入響應。當調試VS 2010(ASP.NET開發服務器),它運行良好,但是當我上的IIS 6箱運行它,我得到以下錯誤:運行沒有視圖的MVC控制器操作?
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
沒有相關的意見,因此沒有文件,但不應該有。我究竟做錯了什麼?
UPDATE
通過簡單的迴歸,而不是一個ActionResult空虛,我不再有這個問題。我沒有返回ExcelResult,而是明確地調用它的ExecuteResult方法,它正在寫入輸出流。
以前
public ActionResult GenerateExcel()
{
return this.Excel(parameters);
}
後
public void GenerateExcel()
{
ExcelResult excelResult = this.Excel(parameters);
excelResult.ExecuteResult(null);
}
在那之後,我就安全問題與我的NTLM身份驗證,但他們 '走了'(意思是我希望他們回來)。不過,現在,一切正常。
難道你不覺得說不清楚自己在做什麼(某些代碼或其他東西),你做錯了什麼有點難嗎?不幸的是我沒有心靈感應技能。 – 2011-01-13 19:34:06
那麼你基本上可以查看鏈接上的代碼。它返回一個ActionResult,它真的是一個ExcelResult,它的ExecuteResult方法正在寫入輸出流。 – DougJones 2011-01-13 20:21:01