0

我一直在尝试通过 Ajax 调用与 QueryString 一起重定向到 aspx 页面,但即使处理程序被称为重定向也不会发生。

public void ProcessRequest(HttpContext context)
{
    context.Response.ContentType = "text/plain";
    string searchValue = context.Request["txtBoxValue"].ToString();
    context.Response.Redirect("SearchResults.aspx?search=" + searchValue);

}

 $.ajax({
url: 'Handlers/SearchContent.ashx',
data: { 'txtBoxValue': txtBoxValue },
success: function (data) {
}

});

关于为什么不进行转移以及如何进行转移的任何建议

亲切的问候

4

1 回答 1

2

由于您正在执行 ajax 请求,因此重定向应该无效。您需要做的是从客户端的success处理程序上执行此操作:

public void ProcessRequest(HttpContext context)
{
    context.Response.ContentType = "text/plain";
    string searchValue = context.Request["txtBoxValue"].ToString();
    //Return the redirect URL instead
    context.Response.Write("SearchResults.aspx?search=" + searchValue);     
}



$.ajax({
    url: 'Handlers/SearchContent.ashx',
     data: { 'txtBoxValue': txtBoxValue },
      success: function (data) {
         window.location= data;//redirect here. "data" has the full URL
    }
});

现在,如果这就是您在 ashx 处理程序中所做的一切,我真的不认为需要 ajax 请求。

于 2013-07-25T19:32:36.077 回答