我的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);
答案 0 :(得分:0)
好的,原来这是一个小学生的错误......
我做了一个简单的复制粘贴来创建新的处理程序并编辑了功能背后的所有代码。然而,我忘记了还有一个与.ashx文件相关联的标记页面,也需要编辑。
<%@ WebHandler Language="C#" CodeBehind="ProductExportExcel.ashx.cs" Class="ITG.MediaCentre.Crew.WebApplication.Handlers.ExportExcel" %>
您会注意到,Class部分指向不正确的类,因此即使URL指向正确的位置,也会执行错误的代码。
希望将来可以帮助别人。
干杯