Foxtable(狐表)用户栏目专家坐堂 → 学习官方每日一练 登录验证后无法进行下一步操作 麻烦老师帮忙看看 谢谢


  共有4814人关注过本帖树形打印复制链接

主题:学习官方每日一练 登录验证后无法进行下一步操作 麻烦老师帮忙看看 谢谢

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 10:28:00 [显示全部帖子]

这些实例仅提供学习用,先自己分析代码查找问题。

前端使用浏览器开发者工具调试跟踪js的执行
服务端请写日志跟踪代码执行状态,实例提供了日志记录函数,调用即可

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 12:11:00 [显示全部帖子]

在跟踪,看是那一句代码的问题。再看看日志提示具体什么错误?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 15:05:00 [显示全部帖子]

哪一句出错?

MessageBox.Show(openid)
            If Functions.Execute("UpdateLogonTime",openid) Then '更新用户操作时间
MessageBox.Show(1)
                Dim dt As DataTable = DataTables("UsersTestForm")
MessageBox.Show(2)
                dt.ReplaceFor("IsCompleted",1,"[OpenId] = '" & openid  & "' and IsCompleted = 0" & qttype) '如果其它的练习没有完成,则统一设置为完成
MessageBox.Show(3)
                Dim drnew As DataRow = dt.AddNew
MessageBox.Show(4)
                drnew("TestID") = _BizCodeBuilder.GetNextCode("UsersTestForm") '使用专门的类获取编号,避免并发的时候产生重复编号
MessageBox.Show(drnew("TestID"))

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 15:28:00 [显示全部帖子]

检查一下全局代码,看看数据库对应的编号表uSysBizCode是否存在

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 15:49:00 [显示全部帖子]

一样自己调试一下全局代码

另外看看这里弹出什么
                Dim drnew As DataRow = dt.AddNew
MessageBox.Show(_BizCodeBuilder is nothing)
                drnew("TestID") = _BizCodeBuilder.GetNextCode("UsersTestForm") 

另外编号里有2条都是UsersTestForm的记录,这个不合理,请删除自己添加的数据

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/13 20:19:00 [显示全部帖子]

内部函数NewQuestion 
       Dim drnew As DataRow = dt.AddNew
MessageBox.Show(_BizCodeBuilder is nothing)
                drnew("TestID") = _BizCodeBuilder.GetNextCode("UsersTestForm") 
这个红色部分弹出值    true

说明这个变量是空值,检查一下afteropenproject事件,正常应该有一个初始化的代码的,比如:

_BizCodeBuilder = new BizCodeBuilder

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/14 8:26:00 [显示全部帖子]

同样的方法,自己跟踪一下前端js、服务端代码的执行过程

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/14 9:26:00 [显示全部帖子]

答题记录都在UsersAnswerForm表,Seq就是题号。看看【Dim drtestid As DataRow= Args(3) '主单题目所在的行记录】drtestid外部传进来前是怎么查询数据的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/14 10:57:00 [显示全部帖子]

GetNewAnswerHtm函数在哪里被调用的,可以输出代码查到的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/14 13:33:00 [显示全部帖子]

检查NextQuestion函数调用GetNewAnswerHtm函数的代码

 回到顶部
总数 13 1 2 下一页