来源http://hi.baidu.com/intercessor/blog/item/48ef93bf97f1410318d81f56.html
前段时间,写了篇客户端获取Session值的文章,怪我没有说清楚,很多朋友没有能成功。下面我详细说下,提供实例代码:
1。创建两个ASPX页面,a.aspx,b.aspx
a.aspx后台代码:
protected void Page_Load(object sender, EventArgs e)
{
Session["Wang"] = "wangdongxin";
}
a.aspx前台html代码:
<a href="b.aspx" target="_self">去获取Session的页面</a>
b.aspx前台代码:
<div>
<script>
var str='<%=Session["Wang"] %>';
alert("当前会话Session值为:"+str);
</script>
</div>
设置a.aspx为首页,然后运行,就可以看到效果,
看了上面的例子,有个注意点要讲清楚的,那就是
var str='<%=Session["Wang"] %>';
这段代码,不管你放在前台的function内,还是放在function外,
它都会在页面加载的时候,将后台的Session["Wang"] 的值赋值给str,如果Session["Wang"]不存在,
那么str的值就为null或undefined,即使在后期,你通过某个操作对Session["Wang"] 进行了定义并且赋值,或者对Session["Wang"] 进行了修改更新,前台的str是不会跟着改变的,各位想想,如果str跟着改变,那还有何安全性可言?
但是,上面我这么说,并不代表前台不能实时获取Session["Wang"] 值,当然有办法,换个思路而已!
代码:
1.创建getSession.aspx页面,
2.前台html代码:
<script>
function getSeesionVal(){
var str=document.all.session.value;
alert("后台的Session值为:"+str);
}
</script>
<input id="session" type="hidden" runat="server" />
<input type="button" value="获取后台Session值" οnclick="getSeesionVal()"/>
<asp:Button ID="setSession" runat="server" Text="设置后台Session值" OnClick="setSession_Click" />
3.后台代码:
Session["wang"]="wangdongxin";
session.Value=Session["wang"].ToString();
4.这样就能获取后台的Session值了。
学习愉快!有事请留言!