Dim e As RequestEventArgs = args(0)
Dim wb As New weui
'删除订单明细
If e.GetValues.ContainsKey("deldid") Then
DataTables("学生信息").SQLDeleteFor("[_Identify] = " & e.GetValues("deldid"))
End If
'订单编辑
Dim pr As DataRow '订单
Dim srs As List(of DataRow) '订单明细集合
Dim Page As Integer '页码变量
If e.GetValues.ContainsKey("page") Then '如果地址中有page参数
Integer.TryParse(e.GetValues("page"), page) '提取page参数
End If
If e.GetValues.ContainsKey("oid") = False Then '如果没有传递订单编号,则新增与一个订单
pr = DataTables("学生信息").sqlAddNew() '
Else '如果传递了订单编号,则找出此订单进行编辑
pr = DataTables("学生信息").SQLFind("_Identify='" & e.GetValues("oid") & "'")
If pr Is Nothing Then '多用户情况下,必须考虑其他用户删除订单的可能.
wb.InSertHtml("该学生信息删除了")
e.WriteString(wb.Build)
Return "" '必须返回
End If
End If
Dim url As String= "edit.htm?page=" & page & "&oid=" & pr("_Identify") '传递页码和订单编号
wb.AddForm("","form1",url)
With wb.AddInputGroup("form1","ipg1",iif(e.GetValues.ContainsKey("oid"),"编辑信息","新增信息"))
.AddInput("身份证件号","身份证件号","text").Value = pr("身份证件号")
.AddInput("学生姓名","学生姓名","text").Value = pr("学生姓名")
.AddInput("学籍号","学 籍 号","text").Value = pr("学籍号")
End With
With wb.AddButtonGroup("form1","btg1",False)
.Add("btn2", "保存", "submit") '正常提交,保存后进入编辑状态
If e.GetValues.ContainsKey("oid") = False Then '如过是新增订单
.Add("btn3", "取消", "button","list.htm?page=" & page & "&deloid=" & pr("_Identify")) '删除新增订单后返回列表
Else
.Add("btn3", "返回", "button","list.htm?page=" & page) '返回列表
End If
End With
pr.Save()
If e.PostValues.Count > 0 Then '如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
wb.AddToast("","t1", "已经保存",0).Msec= 500
End If
wb.AppendHTML("<script src='./lib/order.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页
老师,现在新增的问题解决了,但保存又出现了个问题,编辑保存没问题,但新增保存又能出现
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.6.12.1
错误所在事件:自定义函数Save
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
save()
Dim e As RequestEventArgs = args(0)
'保存订单
Dim dr As DataRow = DataTables("学生信息").SQLFind("身份证件号='" & e.PostValues("身份证件号") & "'")
Dim nms() As String = {"身份证件号","学生姓名","学籍号"}
If dr IsNot Nothing Then
For Each nm As String In nms
If e.PostValues.ContainsKey(nm) Then
dr(nm)= e.PostValues(nm)
End If
Next
End If
dr.Save()
'保存明细
研究了没看出问题,请问老师问题出在什么地方