读书人

怎么在ashx页面里面使用Response对象

发布时间: 2012-09-11 10:49:03 作者: rapoo

如何在ashx页面里面使用Response对象

C# code
<%@ WebHandler Language="C#" Class="SavePhoto" %>using System;using System.Web;using System.IO;using System.Drawing;public class SavePhoto : IHttpHandler{    public void ProcessRequest(HttpContext context)    {        //System.Web.UI.Page page = new System.Web.UI.Page();        context.Response.ContentType = "text/plain";        if (context.Request.Form["PHeight"] != null && context.Request.Form["PWidth"] != null && context.Request.Form["strBMP"] != null)        {            try            {                int height = int.Parse(context.Request.Form["PHeight"].ToString());                int width = int.Parse(context.Request.Form["PWidth"].ToString());                string strBmp = context.Request.Form["strBMP"].ToString();                SaveBmp(BuildBitmap(width, height, strBmp), context.Server.MapPath("../../../images/CameraPhoto"));                //System.Web.HttpContext.Current.Response.Write("<script>alert('111');</script>");                context.Response.Write("RetMsg=true");            }            catch (Exception)            {                context.Response.Write("RetMsg=false");            }        }    }

我想在这里上传成功后,写提示框体,却无法实现...
请问该怎么写?

[解决办法]
可以传值到前台页面 前台页面弹出提示框啊

[解决办法]
这个真的不可以。。一般的处理方法是上传成功了 给前台传个状态回去 然后前台js 弹框。
[解决办法]
//System.Web.HttpContext.Current.Response.Write("<script>alert('111');</script>");
context.Response.Write("RetMsg=true");
就是这样使用,只是Response.Write只是传出流的意思,没法马上执行。这个JS代码,只有服务端执行完了,传送到客服端,才会被执行
[解决办法]
探讨
C# code

<%@ WebHandler Language="C#" Class="SavePhoto" %>

using System;
using System.Web;
using System.IO;
using System.Drawing;

public class SavePhoto : IHttpHandler
{
public void P……

[解决办法]
写提示框体?
System.Web.HttpContext.Current.Response.Write("<script>alert('111');</script>");
改成
Page.ClientScript.RegisterStartupScript(GetType(),"","<script>alert('111');</script>");

[解决办法]
C# code
                int height = int.Parse(context.Request.Form["PHeight"].ToString());                int width = int.Parse(context.Request.Form["PWidth"].ToString());                string strBmp = context.Request.Form["strBMP"].ToString();                SaveBmp(BuildBitmap(width, height, strBmp), context.Server.MapPath("../../../images/CameraPhoto"));                //System.Web.HttpContext.Current.Response.Write("<script>alert('111');</script>");                context.Response.Write("<h2 style='color:green'>保存文件成功</h2><hr />文件已经保存到服务器路径:"+                       context.Server.MapPath("../../../images/CameraPhoto"));
[解决办法]

handler中返回状态,比如:1:成功,2:失败

ajax的回调函数中。。

if(返回值 == "1")
{
alert("成功");


}
else
{
alert("失败");
}
[解决办法]
举个栗子.如下

C# code
  /// <summary>        /// 查询登陆        /// </summary>        /// <param name="context"></param>        public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            string username = context.Request["username"];            string userpwd = context.Request["userpwd"];            string pwd = getsha256(userpwd);            NRBLL.User bu = new Asiastar.NRBLL.User();            if (bu.FN_Exists(username, pwd))            {                context.Session["username"] = username;                context.Response.Write("0");            }            else            {                context.Response.Write("1");            }        }
[解决办法]
ashx 当然不能这么处理了

在调用页面,接受返回值后 用js 判断处理就可以了
[解决办法]
探讨
引用:
引用:
引用:
忘记说了 那个data你可以随便取名字 你应该看看asp.net ajax请求 1个多月前我跟你问过同样的问题

看了半天没有看明白这段

C# code

data:{username:$("#TxtUserNam……

读书人网 >asp.net

热点推荐