0

我的 ashx 处理程序存在问题,这些处理程序是通过更新面板回发和 javascript 调用触发的。

长话短说,应用程序中有两个处理程序。不管我调用什么 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" %>

What you will notice is that the Class portion is pointing to the incorrect class hence the wrong code is executed even though the URL is pointing to the correct location.

Hope this helps somebody out in the future.

Cheers

于 2013-02-05T12:51:49.783 回答