小女子有几个问题不明白:
一、为什么单击按钮session的值会随时间发生变化?
二、为什么页面刷新后session与表单中的控件值会不同?请大哥们帮帮忙啊,求你们了!!后台源码
Partial Class xx_xx6
    Inherits System.Web.UI.Page    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         If Session("ok") Is Nothing Then
            Session("ok") = Now.ToString
        End If
    End Sub    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
           If Session("ok")= Request.Form("Hidden1") Then
            Response.Write("OK")
            Session("ok") = Now.ToString
        Else
            Response.Write("RE")
        End If
    End SubEnd Class前台
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="xx6.aspx.vb" Inherits="xx_xx6" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Button ID="Button1" runat="server" Text="Button" />
       <input id="Hidden1" name="Hidden1" type="hidden" value="<%=Session("ok")%>" />
    </form>
</body>
</html>

解决方案 »

  1.   

    一、为什么单击按钮session的值会随时间发生变化?  前提第一次打开页面session为空。
    If Session("ok")= Request.Form("Hidden1") Then
      Response.Write("OK")
      Session("ok") = Now.ToString
      Else
    每次做判断的时候,给  Session("ok") = Now.ToString赋值目前的时间,所以,session必然要变化的二、为什么页面刷新后session与表单中的控件值会不同?
    这个问题感觉你说的不是特别清晰,你说的页面刷新是在什么前提下发生的。按照我的猜测,你说的页面刷新是指点击按钮后发生的,如果只是refresh的话,session应该没有变。
    如果是关闭浏览器,重新打开页面,点击按钮的话,你已经给session一个最新的时间值,前后的session当然要变。
      

  2.   

    大哥,页面刷新是单击浏览器的刷新按钮…为什么值不一样呢,session里的值会变啊……
      

  3.   

    先给Session值然后再做判断试一下 有可能是Session值刷新后丢失造成的
      

  4.   

    刷新后Session值会变?我只遇到刷新后丢失
      

  5.   

    我 学的是C#你这个VB 的话Partial Class xx_xx6
      Inherits System.Web.UI.Page  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      If Session("ok") Is Nothing Then
      Session("ok") = Now.ToString
      End If
      End Sub  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
      If Session("ok")= Request.Form("Hidden1") Then
      Response.Write("OK")
      Session("ok") = Now.ToString
      Else
      Response.Write("RE")
      End If
      End SubEnd Class
    --------  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
      If Session("ok") == Request.Form("Hidden1") Then
    ------
      

  6.   

    这样呢。 语法有问题没?
     
    If Session("ok").ToString() == Request.Form("Hidden1") Then
      

  7.   

    想要点击按钮的时候session的值不变?
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      
    if not ispostback then
    If Session("ok") Is Nothing Then
      Session("ok") = Now.ToString
    End If
      End If
      End Sub这样就可以了
    因为你点击按钮的时候也会走Page_Load,其实也是刷新了整个画面。
    每一次web请求都是全新的请求
      

  8.   


    邪恶?我只是弄不明白那些写这样标题的人是什么心态,如果真要看女人,还不如去和谐网站,会来CSDN?
      

  9.   

    他的那session值刚开始写在page_load里面,点击服务器按钮页面进行挥发的时候,session=当前时间 肯定改变了。