2012-05-07 10 views
1

MVC3アプリケーションでMicrosoft.ReportViewer.WebFormsコントロールを使用しています。 ReportViewerは同じアセンブリ内でHttpHandlerを呼び出すことでJavaScriptを取得します。そのハンドラは、埋め込みリソースとして格納されているjavascriptを返します。サードパーティの組み込みリソースをオーバーライドします。

私の問題は、それが返すjavascriptには、特定のシナリオではFirefoxのランタイムエラーの原因となるバグがあることです。

訂正されたjavascriptを使用するために返される埋め込みリソースをオーバーライドしたいと思います。

どうすればいいですか?私はresxファイルを見てきましたが、ファイルの名前、どこに行くのかわかりません...

答えて

0

もしあなたがバグを知っていれば、あなた自身で機能を変更することができます。

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

次に、あなたが来て、それがロードされた後の上にそれを書く:

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

私の問題は、コントロールがUIをレンダリングし、動的javasciptを取得するためにハンドラを呼び出し、返されたjavascript関数をライフサイクル内で呼び出すことです。私が知ることから、javascriptを要求したときと関数を呼び出すときの間に、1つの操作のすべての部分であるために、私が入り込んで変更する場所はありません。それはファイルをロードしていない、その後いくつかのユーザーイベントが呼び出しをトリガーします。 – jskentzos

0

あなたはハードに聞こえるようではありません修正のJavaScriptファイルとアセンブリを再構築する必要があります。 http://fortheloveofcode.wordpress.com/2007/09/24/change-resources-inside-assembly/

+0

実際、私は前に同じ記事を使ってみました。私が遭遇した問題は、アセンブリが署名されていることです(MSFT afterallのものです)。それを再構築して再署名することはできません。 (snremoveツールを使用して)署名を削除し、逆アセンブルし、javascriptを変更して再構成したところ、「Dispose()はセキュリティ中立ですが、セキュリティ上重要なタイプに含まれています」などの実行時エラーが発生しました。正確にリコールしないでください)。その時点で、私は間違ったツリーを樹立し、設定ファイルを使ってリソース値を上書きしようと指示を変えたと考えました。 – jskentzos

関連する問題