2012-05-07 5 views
1

Я использую элемент управления Microsoft.ReportViewer.WebForms в приложении MVC3. ReportViewer получает его javascript, вызывая HttpHandler в той же сборке. Этот обработчик возвращает javascript, который хранится как встроенный ресурс.Переопределить сторонний встроенный ресурс

Моя проблема заключается в том, что возвращаемый javascript имеет ошибку, которая вызывает ошибки времени выполнения в firefox при определенных сценариях.

Я хотел бы переопределить встроенный ресурс, который будет использоваться, чтобы использовать исправленный javascript.

Как мне это сделать? Я просмотрел файлы resx, но я не знаю, как должен быть назван файл, куда он будет идти, и т. Д.

ответ

0

Если вы знаете ошибку, вы можете просто изменить функцию самостоятельно.

function iHaveBug() { alert('buggy'); } 

Тогда вы пришли в и над писать после того, как он был загружен:

iHaveBug = function() { alert('all better'); } 
+0

Моя проблема заключается в том, что элемент управления отображает ui, делает вызов обработчику, чтобы получить динамический javascipt, а затем вызывает вызовы возвращенных функций javascript в пределах его жизненного цикла. Из того, что я могу сказать, мне не нужно вмешиваться и менять вещи между тем, когда он запрашивает javascript, и когда он вызывает вызовы функций, поскольку все они являются частью одной операции. Это не загрузка файла, а затем некоторое пользовательское событие вызывает вызов. – jskentzos

0

Вам необходимо перестроить сборку с исправленным файлом JavaScript, который не так трудно, как это звучит , В этом сообщении вам рассказывается, как это сделать: http://fortheloveofcode.wordpress.com/2007/09/24/change-resources-inside-assembly/

+0

На самом деле я уже пытался это сделать, используя тот же пост. Проблема, с которой я столкнулся, заключалась в том, что сборка подписана (это от MSFT afterall), поэтому я не могу ее перестроить и переписать. Когда я удалил подписание (используя инструмент snremove), разобрал, изменил свой javascript, а затем снова собрал, я начал получать ошибки времени выполнения в том, как «Dispose() находится в нейтральной безопасности, но содержится в критическом критическом типе» или что-то подобное (I не помню точно). В этот момент я подумал, что я лаял неправильное дерево и менял направление, чтобы попытаться переопределить значение ресурса через файлы конфигурации. – jskentzos

Смежные вопросы