Страница 1 из 1
Value cannot be null. GetReportSnapshotResult
Добавлено: 10 апр 2014, 22:58
ki11en
Здравствуйте. Пытаюсь получить отчет на Razor странице с использованием MVC 5.1. При вызове метода GetReportSnapshotResult возникает исключение Value cannot be null.
Метод вызывается в контроллере из трех строк:
Код: Выделить всё
var report = new StiReport();
report.Load(@"C:\1\Report.mrt");
return StiMvcViewer.GetReportSnapshotResult(HttpContext, report);
Видел подобное собщение, но оно не помогло. Приклепил свой web.config к посту.
Re: Value cannot be null. GetReportSnapshotResult
Добавлено: 11 апр 2014, 10:18
Vladimir
Здравствуйте,
Если возможно, пожалуйста пришлите проект целиком (можно в этой ветке форума, можно на support [at] stimulsoft [dot] com с указанием ссылки на эту ветку форума).
Спасибо.
Re: Value cannot be null. GetReportSnapshotResult
Добавлено: 21 апр 2014, 22:07
ki11en
Здравствуйте, все еще не получается решить проблему. Проект прислать очень сложно. Это на крайний случай.
Вот StakTrace:
Код: Выделить всё
System.ArgumentNullException произошло
HResult=-2147467261
Message=Значение не может быть неопределенным.
Имя параметра: value
Source=mscorlib
ParamName=value
StackTrace:
в System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureParameter)
в System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
в System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
в System.Enum.Parse(Type enumType, String value)
в Stimulsoft.Report.Mvc.StiMvcViewer.SaveReportObject(HttpContextBase httpContext, StiReport report)
в Stimulsoft.Report.Mvc.StiMvcViewer.GetReportSnapshotResult(HttpContextBase httpContext, StiReport report)
в Project.WebCityCarWash.Controllers.WebReport2Controller.Report() в p:\Project\Project\Controllers\WebReport2Controller.cs:строка 30
InnerException: null
При этом, если создать новое решение, то все работает. Конфиги, cshml-файлы и библиотеки одни и те же.
Re: Value cannot be null. GetReportSnapshotResult
Добавлено: 22 апр 2014, 17:15
Vladimir
Здравствуйте,
К сожалению, мы не смогли воспроизвести ошибку, т.к. как вы уже упомянули - на новом проекте всё работает корректно.
Если Web.Config в вашем и в новом проекте одинаковые, то нам нужен пример проекта для анализа ситуации. Попробуйте создать копию вашего проекта, и постепенно упрощать его (удалять по одному модули и библиотеки). Возможно, так получится выявить, из-за чего происходит ошибка, либо упростить проект до простого и прислать его нам.
Спасибо.
Re: Value cannot be null. GetReportSnapshotResult
Добавлено: 26 апр 2014, 17:29
ki11en
Спасибо, не были реализованы методы, указанные в опциях отчета:
Код: Выделить всё
ActionViewerEvent = "ViewerEvent",
ActionPrintReport = "PrintReport",
ActionExportReport = "ExportReport",
Сейчас отчет отображается нормально, но:
1. Нет подменю в меню экспорта как в документации (
http://www.stimulsoft.com/ru/documentat ... ng-manual/,
Использование MVC вьювера,
Использование тем). У меня только "Сохранить -> Microsoft Excel файл...". Если в настройках указать
ShowExportDialog = false, то нет возможности выбора формата.
2. Мне нужны только pdf, excel, excel 2007. Если я скрываю остальные опции, то сохранение перестает работать, а в FireBug появляется ошибка.
Код: Выделить всё
TypeError: this.options[this.parentTable.getAttribute(...)] is undefined
Посмотрел в отладчике, this.options.length = 0.
Re: Value cannot be null. GetReportSnapshotResult
Добавлено: 28 апр 2014, 10:38
Vladimir
Здравствуйте,
1. Нет подменю в меню экспорта как в документации
В новом релизе меню экспорта было упрощено, выбор формата изображений и данных теперь находится в диалоге экспорта.
Спасибо за ссылку на документацию, отправлено на доработку.
Если в настройках указать ShowExportDialog = false, то нет возможности выбора формата.
Формат по умолчанию можно установить, задав настройки экспорта следующим образом:
В контроллере:
Код: Выделить всё
StiImageExportSettings settingsImage = new StiImageExportSettings();
settingsImage.ImageType = StiImageType.Png;
ViewData["defaultSettings"] = new { settingsImage };
В представлении:
Код: Выделить всё
<%= Html.Stimulsoft().StiMvcViewer(
"MvcViewer1",
new StiMvcViewerOptions() {
...
DefaultExportSettings = ViewData["defaultSettings"],
...
2. Мне нужны только pdf, excel, excel 2007. Если я скрываю остальные опции, то сохранение перестает работать, а в FireBug появляется ошибка.
Указанная ошибка уже исправлена, обновление будет доступно в пререлиз билде 2 мая.
Спасибо.