为了账号安全,请及时绑定邮箱和手机立即绑定

一般处理程序中为何redirect不了?

一般处理程序中为何redirect不了?

倚天杖 2018-12-07 04:28:10
public class EditCategory : IHttpHandler { private SQLHelper sqlhelper = new SQLHelper(); public void ProcessRequest(HttpContext context) { HttpResponse response = context.Response; HttpRequest request = context.Request; int id = Convert.ToInt32(request.Form["id"]); string name = request.Form["name"]; string location = request.Form["location"]; string sql = "update SD_Category set CategoryName=@cname,Location=@loc where CategoryID=@cid"; OleDbParameter[] param = new OleDbParameter[]{ new OleDbParameter("@cname",name), new OleDbParameter("@loc",location), new OleDbParameter("@cid",id) }; if (sqlhelper.ExecuteNonQuery(sql, param, CommandType.Text) > 0) { //response.ContentType = "application/json"; //response.Write("{result: '类别更新成功!'}"); //{}表示js中对象 response.Redirect("CategoryManage.aspx"); //这里跳转不了 } }} 一般处理程序和CategoryManage页面在同一目录。我已确定语句已经执行到了if里面,但就是跳转不了。用firebug查看状态码是302
查看完整描述

7 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

jquery ajax 做数据传输而已吧,跳转的话还是在完成状态后用Js跳转吧。

查看完整回答
反对 回复 2019-01-21
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

如果你是同步访问ashx文件的话,应该是可以跳转的,现在你是异步访问,异步访问不能改变页面的,只是单纯的数据传输

查看完整回答
反对 回复 2019-01-21
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

试试这个js

window.parent.self.location.href=''

查看完整回答
反对 回复 2019-01-21
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

这个是行的,昨晚试了,谢谢你
查看完整回答
反对 回复 2019-01-21
?
慕后森

TA贡献1802条经验 获得超5个赞

一般处理程序啊,这个我想是为那些喜欢ajax的人弄的,这个时候用的只是客户端脚本,服务器端管不到他。

如果你是aspx页面去请求这个一般处理程序,为什么不直接请求aspx的后台?

查看完整回答
反对 回复 2019-01-21
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

aspx页面隐藏类继承ihttphandler类然后实现ProcessRequst方法吗
查看完整回答
反对 回复 2019-01-21
  • 7 回答
  • 0 关注
  • 681 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信