public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            int lycommid = 0;
            try
            {                lycommid = int.Parse(context.Request.Params["lycommid"].ToString());
            }上面 context.response.contenttype="text/plain";这是什么意思呢?
为什么获取 lycommid的值 还要 context.request.params    直接用request.params获取不到么?

解决方案 »

  1.   

    这个可以解释ContentType:http://wenku.baidu.com/view/e1ab9aeb172ded630b1cb669.html
    他是页面显示的类型
    第二个是接收参数,你要看他是怎么传过来的,通过get还是post。
    如果是get的话  你可以用context.Request.QueryString["id"]
    如果是post的话 你可以用context.Request.Form["id"]来接收,
    当然,不论什么方式,利用context.Request["id"]来接收都能接收到,不过安全性更加低了
    希望对LZ有帮助
      

  2.   

    当你设置 context.response.contenttype 的时候,懂得解析它的浏览器就会正确处理它。例如当你的服务器向浏览器返回一些字节流,如果它是 text/html,那么浏览器就会将内容当作html而渲染。如果你写的是 application/word,浏览器就会看看本地有没有注册为处理word的应用程序并且用其打开。当你什么mime声明都不写,即使你明明在内容中输出为html,其实浏览器也可能弹出一个“下载、保存”窗口而把它当作文件下载来处理,这就因为你的mime没有正确标记的原因。许多浏览器除了看这个标记,在它没有的时候也会去看所请求的url文件的后缀。多种可能性都试探了之后,如果还无法断定服务器输出的内容类型,就只能当作普通的文件下载处理了!
    至于后边那个,其实两个是一样的。request.params 就是调用当前ashx对象(既当前page对象)的属性,“this.Request”,但是它其实就是在初始化时使用context.Request来赋值的。
      

  3.   

    上面 context.response.contenttype="text/plain";这是什么意思呢?----说明输出内容为普通的文本
    为什么获取 lycommid的值 还要 context.request.params 直接用request.params获取不到么?---后者的Request是context的一个属性,你没有context怎么来的request呢,request.params这样写应该是报错的
      

  4.   

    context.Response.ContentType = "text/plain";
    这个是设置响应输出类型,告诉浏览器对我响应的东西怎么进行处理
    你可以看看怎么生成验证码 输出的是图片
    context.request.params 看楼上各位的
      

  5.   

    context.request[""]这样就能去到值了,如果要分post和get的话就context.request.Forms[],context.request.Qustring[]