Mam wynik działania ExcelResult, który zwraca dokumenty Microsoft Excel, w oparciu o Stephen Walther tip. Zasadniczo po prostu wypuszcza strumień do odpowiedzi. Podczas debugowania VS 2010 (ASP.NET Dev Server), to działa dobrze, ale gdy uruchamiam go na polu IIS 6, pojawia się następujący błąd:Uruchomienie kontrolera MVC bez widoku?
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
Nie ma powiązanych widzenia, a zatem nie ma pliku , ale nie powinno być. Co ja robię źle?
UPDATE
Po prostu powrocie void zamiast ActionResult, nie mam już tego problemu. Zamiast zwracania ciągu ExcelResult, jawnie nazywam go metodą ExecuteResult, która zapisuje do strumienia wyjściowego.
Przed
public ActionResult GenerateExcel()
{
return this.Excel(parameters);
}
Po
public void GenerateExcel()
{
ExcelResult excelResult = this.Excel(parameters);
excelResult.ExecuteResult(null);
}
potem miałem problemy z bezpieczeństwem z moim uwierzytelniania NTLM, ale oni 'odeszli' (co oznacza, że oczekujemy od nich wrócić). Na razie jednak wszystko działa poprawnie.
Czy nie uważasz, że trudno jest powiedzieć, co robisz źle, nie pokazując, co robisz (jakiś kod lub coś takiego)? Niestety nie mam umiejętności telepatycznych. –
Cóż, zasadniczo można wyświetlić kod na łączu. Zwraca ActionResult, który naprawdę jest ExcelResult, którego metoda ExecuteResult zapisuje do strumienia wyjściowego. – DougJones