以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]在老手机上(比如华为c8816 三星gt-i8268),按上一页一下时,相当于按了两下 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100099) |
-- 作者:ytzn -- 发布时间:2017/5/4 18:17:00 -- [求助]在老手机上(比如华为c8816 三星gt-i8268),按上一页一下时,相当于按了两下 HttpRequest内容:
Dim fl As String = "d:\\web\\" & e.path If filesys.FileExists(fl) Dim idx As Integer = fl.LastIndexOf(".") Dim ext As String = fl.SubString(idx) Select Case ext Case
".jpg",".gif",".png",".bmp",".wmf",".js",".css"
,".html",".htm",".zip",".rar" \'e.Resp e.WriteFile(fl) Return \'这里必须返回 End Select End If Select Case e.Path Case "xs_list.htm","" \'获取要显示的页 Dim page As Integer = 0 \'默认page为0,显示第一页 Dim pageRows As Integer = 10 \'每页10行 If e.GetValues.ContainsKey("page")
Then \'如果地址中有page参数
Integer.TryParse(e.GetValues("page"), page) \'提取page参数 End If Dim StartRow As Integer = page * pageRows + 1
\'此页第一行 Dim EndRow As Integer = (page + 1) * pageRows
\'此页最后一行 \'记录当前页 Dim dr As DataRow = DataTables("页面信息").addnew() dr("时间")=Date.now dr("页面信息")="页>" & page dr.save \'获取该页数据 Dim cmd As New SQLCommand cmd.C cmd.CommandText = "Select Count(*) Fro m
{销售订单wx} where 创建时间>= \'2017-01-01\'" Dim Count As Integer = cmd.ExecuteScalar() \'获取总的行数 Dim Pages As Integer =
Math.Ceiling(Count/PageRows) \'计算出总页数 cmd.CommandText = "Select * Fro m (Select
Row_Number() Over(Order by 创建时间 desc) As RowNum,创建时间,车牌号 Fro m 销售订单wx where 创建时间>= \'2017-01-01\') As a" cmd.CommandText = cmd.CommandText & "
Where RowNum >= " & StartRow & " And RowNum <=
" & EndRow Dim dt As DataTable = cmd.ExecuteReader
\'根据此页数据生成表格 Dim wb As New WeUI With wb.AddTable("","Table1") .PageNumber = page \'设置页码 .CreateFro mDataTable(dt,
False,"","","创建时间","车牌号") End With \'生成换页按钮 With
wb.AddButtonGroup("","btg1", False) If page > 0 Then .Add("btnPrev",
"上一页","","xs_List.htm?page="
& page - 1) Else
.Add("btnPrev", "上一页").Kind = 1 End If If Endrow < count Then
.Add("btnNext", "下一页","","xs_List.htm?page="
& page + 1) Else
.Add("btnNext", "下一页").Kind = 1 End If End With e.WriteString(wb.Build) End Select
在老手机上(比如华为c8816 三星gt-i8268), 当按"下一页"时正常,但按"上一页"时,出现问题,按一下“页面信息”表增加两条记录,有时不止两条。见下面连接视频: https://pan.baidu.com/s/1c19epFi
请问老师是程序问题还是老手机不能用? |
-- 作者:有点色 -- 发布时间:2017/5/4 18:46:00 -- 我测试你的代码没问题。你其它设备正常?
和手机无关的,你手机安装另一个浏览器就好了,比如 UC、QQ、百度 这些 |
-- 作者:ytzn -- 发布时间:2017/5/4 18:52:00 -- 其他手机没发现问题,碎屏手机及上述俩手机出现问题,在qq浏览器上及微信公众号(可能是连接到微信浏览器)上测试的 [此贴子已经被作者于2017/5/4 18:54:40编辑过]
|
-- 作者:ytzn -- 发布时间:2017/5/4 19:06:00 -- 又试了下其他浏览器,比如手机自带的浏览器,没出现这个情况,像360Q5屏碎了,qq浏览器不行,自带的360浏览器行,但是用着用着就卡死了。 qq浏览器反应是最快的,但老手机会出现上述问题 看来是浏览器的事,喜欢qq浏览器,但老机型该浏览器开发的不好,容易出现重复计算问题
[此贴子已经被作者于2017/5/4 19:09:52编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/4 19:08:00 -- 你可以在代码里面,限制短时间连续访问
Dim ptime As Date = iif(e.Cookies("访问时间")>"", e.Cookies("访问时间"), Nothing) |
-- 作者:ytzn -- 发布时间:2017/5/4 19:11:00 -- 谢谢有点色老师,我试试 |