Для создания динамических диаграмм и графиков в ASP.Net я поместил код (GDI +) для каждой диаграммы в отдельные файлы страниц - так, чтобы выводить сам запуск страницы диаграммы, если просто отображать диаграмму на экране.
Страница диаграммы содержит код для получения соответствующих данных из SQL Server, а также код генерации диаграммы. Созданный объект диаграммы затем сохраняется в Response.OutputStream.
Страница содержимого, на которой я хочу отобразить диаграмму, предоставляет различные параметры для определения того, какие данные будут использоваться для создания диаграммы (например, идентификатор пользователя, идентификатор проекта, выбор из раскрывающихся списков и т. Д.).
Чтобы отобразить диаграмму как часть страницы содержимого, я затем помещаю на страницу объект изображения, собираю различные параметры диаграммы и в коде позади устанавливаю URL объекта изображения, который будет страницей диаграммы, плюс все добавленные параметры диаграммы. к строке запроса.
Это работает нормально, за исключением одного: когда я щелкаю правой кнопкой мыши изображение диаграммы, как оно отображается на странице содержимого в браузере, я получаю опцию «открыть изображение», которое отображает страницу с диаграммой в сам (возможно, не удивительно, так как он генерируется со страницей диаграммы). Однако проблема заключается в том, что на этой странице диаграммы отображается полный URL-адрес со строкой запроса, что означает, что пользователь может изменить значения в строке запроса и, таким образом, сгенерировать новую диаграмму. Это большая проблема, поскольку это может позволить пользователю создать диаграмму для данных, к которым у него не должно быть доступа.
Есть ли способ избежать этой проблемы, все еще используя этот подход «страницы графика» для генерации и отображения динамических диаграмм? В качестве альтернативы, лучше ли мне сохранять динамически сгенерированные изображения в виде файлов, например, на диске или в виде объектов потока файлов SQL Server, а затем ссылаться на них на странице?
Кстати, мне известны различные доступные элементы управления диаграммой ASP.Net. Однако диаграммы, которые мне нужно сгенерировать, сильно адаптированы для очень специализированного приложения, поэтому, к сожалению, эти элементы управления не будут работать в этом случае.