以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  cookie问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99036)

--  作者:zhangjian222200
--  发布时间:2017/4/11 15:16:00
--  cookie问题
这个indexb.htm是插入到index.htm的页面,
当第1次点击index.htm页面底部“加载更多”时,msgbox(xb),显示“男”,值传递正常
当第2次点击index.htm页面底部“加载更多”时,msgbox(xb),显示“”,按道理这里应该还是显示“男”
但是,2个页面及其他页面,都没有执行e.DeleteCookie("xingbcd"),这是什么原因?


下述代码其他msgbox都显示了,只是第二次起,msgbox(xb),显示的值不是cookie的值
Dim e As RequestEventArgs = args(0)                                
Select Case e.Path
    Case "indexb.htm"
        Dim wb As New weui
        Dim drs As List(of DataRow)  \'用于存放后续插入页面的会员编号集合
        Dim i As Integer  \'记录首页展示人数,即for each语句循环次数
        Dim xb As String = e.cookies("xingbcd")  \'从index.htm页面,性别传递,取用户性别
        Dim bianhsz As String = e.cookies("bianhcd")  \'从index.htm页面,编号传递,取最小用户编号(编号是一串数字,因为每次增加会员+1,所以可以用来sqlselect)
        msgbox(xb)
        
        If xb = "男" Then \'如果会员女生,则显示男生
            msgbox("我是男生")
            drs = DataTables("会员资料").SQLSelect("[性别] = \'女\' and [会员编号] < \'" & bianhsz & "\'",4,"会员编号 DESC")  \'从订单表找,个人订单集合
        Else \'其他情况,显示男生
            msgbox("我是女生")
            drs = DataTables("会员资料").SQLSelect("[性别] = \'男\' and [会员编号] < \'" & bianhsz & "\'",4,"会员编号 DESC")  \'从订单表找,个人订单集合
        End If

        \'msgbox(13)
        \'wb.AddForm("","form1","indexb.htm")  \'不需要此行(此行是index.htm页面控制需要而加的,本页不需要)
        For Each dr As DataRow In drs
            \'msgbox(13-1)
            Dim zhansz As String = dr("展示照") \'定义,年龄
            Dim bianh As String = dr("会员编号") \'定义,年龄
            Dim nianl As String = dr("年龄") \'定义,年龄
            Dim xuel As String = dr("学历") \'定义,学历
            Dim huny As String = dr("婚姻状况") \'定义,婚姻状况
            Dim suozqx As String = dr("所在区县") \'定义,所在区县
            Dim suozshi As String = dr("所在市") \'定义,所在市
            Dim suozs As String = dr("所在省") \'定义,所在省
            \'msgbox(14)
            With wb.AddArticle("","ar" & bianh)
                .AddImage("./" & zhansz)
                \'.AddImage("./images/zhanshi/" & zhansz)
                msgbox("编号:" & bianh & "照片:" & zhansz)
                .Attribute = "style=\'padding:0.5em;\'"
            End With
            wb.AddForm("","form" & bianh,"indexb.htm")
            \'msgbox(15)
            With wb.AddInputGroup("form" & bianh,"ipg" & bianh,"TA的编号:" & bianh)
                With .AddInput("xm" & bianh,"有关于TA:","text")
                    .Value = nianl & "岁|" & xuel & "|" & huny
                    .Readonly= True
                End With
                With .AddInput("pw" & bianh,"所在城市:","text")   \' "\'">"\'" ,表达式留存
                    .Value = suozqx & ">" & suozshi & ">" & suozs
                    .Readonly= True
                End With
            End With
            
            With wb.AddButtonGroup("form" & bianh,"btg" & bianh,False)
                .Add("btn1" & bianh, "查看TA的资料", "","/details.htm")
            End With
            i = i + 1
            If i = 4 Then
                \'这里需要传递:会员性别|当前编号|会员等级
                e.AppendCookie("bianhcd",bianh)  \'编号传递,将本页展示的最后一个需要存入cookie,为index.htm,调用下一个插入页面,准备开始序号(sqlselect用)
                msgbox(bianh)
            End If
        Next
        e.WriteString(wb.Build) \'生成网页
End Select

这是index.htm页面代码:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:12vvwer.txt


[此贴子已经被作者于2017/4/11 15:53:59编辑过]

--  作者:有点色
--  发布时间:2017/4/11 15:56:00
--  

 输出所有代码,搜索 xingbcd 关键,看哪里设置了其的值。


--  作者:有点色
--  发布时间:2017/4/11 16:00:00
--  

 看代码没看出问题。你在index里面加入msgbox,获取和弹出xb和xingbcd的值看看。

 

 不然,就做个例子上来测试。


--  作者:zhangjian222200
--  发布时间:2017/4/11 16:24:00
--  
输出代码搜索xingbcd,显示只有2次与cookie有关

第1次,在index.htm,创建了cookie:倒数16行,e.AppendCookie("xingbcd",xb)
第2次,在indexb.htm,使用cookie:正数第7行,Dim xb As String = e.cookies("xingbcd")

这是代码输出全文:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.rar

这是web文件夹下的201704文件夹(解压后,请复制过去)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:201704.rar
这是整个项目的文件夹:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:整个项目.zip



[此贴子已经被作者于2017/4/11 16:41:56编辑过]

--  作者:有点色
--  发布时间:2017/4/11 16:33:00
--  

在你的index.htm代码里面,加入下面代码,看分别弹出什么,每次刷新后弹出什么?

 

msgbox("cookie:" & e.cookies("xingbcd"))

msgbox("xb:" & xb)


--  作者:zhangjian222200
--  发布时间:2017/4/11 16:53:00
--  
可能是我没有关闭浏览器的原因吧,

我重开浏览器,现在好了
[此贴子已经被作者于2017/4/11 17:09:54编辑过]