你的位置:首页 > ASP.net教程

[ASP.net教程]ASHX中获取session值


  上礼拜刚传了一次,这周再传就有点忘记了,修修改改运行了好几次,开的博客终于排上用处了,就用这个来开个篇吧,希望以后越来越好,问题越来越精辟高端,哈哈。

  在ashx中使用session个时,必须使用context.Session["ID"],直接是session无法传值;其次,要添加引用:using System.Web.SessionState;

最后,要继承接口:public class ASHX页面名称 : IHttpHandler, IRequiresSessionState ,即可成功传值。

  既然写了ASHX,顺便把前后台的传值也一起记录一下,这个是抱了一天大腿才搞定的,当初没好好学JS,现在被自己坑啊……

 

前台: 

<script src="../JS/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript" src="../JS/base64.js"></script>
<script type="text/javascript" src="../JS/jquery.min.js"></script>
<script type="text/javascript">
var b = new Base64();
var Urlcs = b.decode(window.location.search);
$.ajax({
type: "POST",
dataType: "Text",
url: "../Urltext.ashx",
data: { Message: Urlcs },
success: function (optname) { document.getElementById('Label1').innerHTML = optname;}
});
</script>

 

后台:

using System;
using System.Web;
using System.Web.SessionState;

public class Urltext : IHttpHandler, IRequiresSessionState {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";

string optname = "测试前后台值传递";
context.Response.Write(optname);

context.Session["id"] = usercode;
}

}