我一直在尝试通过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) {
}
});
关于为什么不进行转移以及如何做到这一点的任何建议
亲切的问候
答案 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请求。