0

更新パネルのポストバックと JavaScript 呼び出しを介してトリガーされる ashx ハンドラーに問題があります。

簡単に言うと、アプリケーションには 2 つのハンドラーがあります。どの URL を呼び出すかに関係なく、常に同じハンドラー (古いハンドラー) になり、新しい必要なハンドラーになることはありません。

URL が正しいように見えるため、これがどのように発生するのかわかりません。そのため、構成の問題に傾いています。

誰でもアイデアはありますか - これは私のナッツを揚げ始めていますか?

乾杯

以下のコード:

C#:

string encryptedQuerystring = StringFunctions.EncryptQueryString(string.Format("productId={0}", CurrentProduct.Id));

        string js = "$(function () {ProductManager.ExportProductExcel('../../Handlers/ProductExportExcel.ashx" + encryptedQuerystring + "');});";
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "GenerateProductExport", js, true);

Javascript:

ExportProductExcel: function (url) {
    window.location = url;
    alert(window.location);
4

1 に答える 1

1

わかりましたので、これは男子生徒のエラーであることが判明しました......

新しいハンドラーを作成するために単純にコピー ペーストを行い、すべてのコード ビハインド機能を編集しました。私が忘れていたのは、編集が必要な .ashx ファイルに関連付けられたマークアップ ページもあるということでした。

<%@ WebHandler Language="C#" CodeBehind="ProductExportExcel.ashx.cs" Class="ITG.MediaCentre.Crew.WebApplication.Handlers.ExportExcel" %>

お気づきのことと思いますが、Class 部分が間違ったクラスを指しているため、URL が正しい場所を指していても、間違ったコードが実行されます。

これが将来誰かに役立つことを願っています。

乾杯

于 2013-02-05T12:51:49.783 に答える