尝试从ashx页面重定向到aspx页面

时间:2013-07-25 19:16:14

标签: c# asp.net ajax handler response.redirect

我一直在尝试通过Ajax调用重定向到一个aspx页面以及一个QueryString,但是甚至认为处理程序被称为重定向不会发生。

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) {
}

});

关于为什么不进行转移以及如何做到这一点的任何建议

亲切的问候

1 个答案:

答案 0 :(得分: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请求。