以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 异步函数问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141265) |
-- 作者:wandongliang -- 发布时间:2019/9/25 11:58:00 -- 异步函数问题 select case e.path Case "addnew.htm" Functions.Execute("addnew_htm",e,wb) Case "receive.htm" e.AsyncExecute = True \'通知系统异步执行,不要关闭信道 Functions.AsyncExecute("receive_htm",e) \'异步调用函数处理接收到的数据和文件 end select addnew_htm函数 Dim e = args(0) Dim wb = args(1) wb.AddForm("","form1","receive.htm") With wb.AddInputGroup("form1","ipg1","增加员工") .AddInput("姓名","姓名","Text") \'前一个"姓名"是ID,后一个"姓名"是标题 .AddInput("年龄","年龄","number") .AddSelect("学历","学历","大专|本科|硕士|博士") With .AddUploader("up1","照片",True) \'True表示允许上传多个文件 .AllowDelete = True \'允许删除 .Incremental = True \'允许 重复选择文件或连续拍照 End With End With With wb.AddButtonGroup("form1","btg1",True) .Add("btn1", "确定", "submit").Attribute= "" End With wb.AddToast("","tst1", "正在上传",1) wb.AddToast("","tst2", "上传成功",0) wb.AddToast("","tst3", "上传失败",0).Icon= "warn" wb.AppendHTML("<script src=\'./foxtableAppTest/js/ajaxform.js\'></script>") \'引入脚本文件 e.WriteString(wb.Build) receive_htm 函数 Dim e As RequestEventArgs = args(0) Dim Name As String = e.PostValues("姓名") Dim Xueli As String = e.PostValues("学历") Dim Age As Integer = Val(e.PostValues("年龄")) Dim Files As String = "" For Each key As String In e.Files.Keys If key = "up1" Then For Each fln As String In e.Files(key) \'生成随机文件名,后缀名不变 Dim newName As String = rand.NextString(10) & fln.SubString(fln.LastIndexOf(".")) e.SaveFile(key, fln, ProjectPath & "Attachments\\" & newName) Files = Files & IIF(Files > "" , vbcrlf, "") & newName Next End If Next Dim cmd As new SQLCommand cmd.C cmd.CommandText = "Insert Into 员工 (姓名, 年龄, 学历, 照片) Values(?,?,?,?)" cmd.Parameters.Add("@姓名",Name) cmd.Parameters.Add("@年龄",Age) cmd.Parameters.Add("@学历",XueLi) cmd.Parameters.Add("@照片",Files) cmd.ExecuteNonQuery() e.WriteString("ok") e.Handled = True \'通知系统异步函数执行完毕,可以关闭信道 ajaxform.js文件 function submitForm(){ show("tst1",2000); var result = submitAjaxForm(\'form1\',\'afterSubmit\'); } function afterSubmit(result){ hide("tst1"); if (result==\'OK\') { show("tst2"); location="addnew.htm"; } else{ show("tst3",2000); } } 以上是代码,几个问题,1:执行过程中出现报错。 2:执行结束后,并不会发挥到addnew.htm界面 请问怎么解决? |
-- 作者:有点蓝 -- 发布时间:2019/9/25 12:12:00 -- 出现什么错误? With wb.AddButtonGroup("form1","btg1",True) .Add("btn1", "确定", "button").Attribute= "" End With |
-- 作者:wandongliang -- 发布时间:2019/9/25 12:52:00 -- 是这个,不知道为什么刚刚没复制过来,.Add("btn1", "确定", "submit").Attribute= "" 报错是“函数错误”
|
-- 作者:wandongliang -- 发布时间:2019/9/25 12:53:00 -- 确定按钮是调用JS |
-- 作者:wandongliang -- 发布时间:2019/9/25 13:15:00 -- 有时候还会这样报错“由于线程退出或应用程序请求,已中止 I/O 操作。” |
-- 作者:有点蓝 -- 发布时间:2019/9/25 13:34:00 -- 不要使用submit,改为button啊:.Add("btn1", "确定", "button").Attribute= "" 3楼说的详细错误发上来看看 5楼的错误可以忽略不用管
|
-- 作者:wandongliang -- 发布时间:2019/9/25 14:24:00 -- 蓝老师,改过之后,目前暂时没有报错了。 就是有一点,经常出现这样的问题,就是点击拍照,完了之后,拍的照片不出现在uploader组件当中,如果把页面重新刷新几次,又能正常使用,不知是什么原因造成的
|
-- 作者:有点蓝 -- 发布时间:2019/9/25 14:27:00 -- 换不同的浏览器试试 |
-- 作者:wandongliang -- 发布时间:2019/9/25 14:29:00 -- 好的 |
-- 作者:wandongliang -- 发布时间:2019/9/25 15:11:00 -- 蓝老师,请问rand生成的随机数,有没有重复的可能? |