麻烦老师们看看 有没有办法优化代码
实现用户不管是选择任何网页名的内容,都能够对应的匹配对应的函数名及代码值。
创建有一 内部函数表表中有函数名称 网页名 代码 字段
假设:
函数名称: logon
网页名: logon.htm
代码列值为:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
If Functions.Execute("yanzheng",e) = 1 '获取验证不能使用异步函数,必须等待并获取验证结果
Dim cmd1 As New SQLCommand
cmd1.C '记得设置数据源名称
cmd1.CommandText = "Sel ect Count(*) From {test}"
Dim dt As DataTable = cmd1.ExecuteReader
wb.AddPageTitle("","pageheader","xx系统")
If e.PostValues.Count > 0 Then '判断是否是验证失败后的重新登录
wb.AddTopTips("","toptip11","用户名或密码错误!").msec = 2000 '如果用户通过登录按钮访问,则给用户一个2秒的提示.
End If
wb.AddForm("","form1","logon.htm")
With wb.AddInputGroup("form1","ipg1")
With .AddSelect("名称","名称*","|" & dt.sqlGetComboListString("名称"))
.Attribute = "font-family: Verdana;">部门',false)"""
End With
With .AddSelect("部门","部门*","")
.Attribute = "font-family: Verdana;">部门',false)"""
End With
With .AddSelect("姓名","姓名*","" )
End With
.AddInput("密码","密码*","password").Placeholder = "请输入6位数密码"
End With
With wb.AddButtonGroup("form1","btg1",True)
.Add("btn1", "登录", "submit")
End With
With wb.AddPageFooter("","pf1","Copyright © 2021")
.AddLink("本系统为初步demo版本")
End With
e.WriteString(wb.Build) '生成网页
End If
生成内部函数的代码:(生成对应htm代码页面的代码)
Dim st As Date = Date.Now '将开始时间保存在变量st中
Dim drs As new List(Of DataRow)
drs = DataTables("内部函数表").Select("")
Dim s As String
For Each dr As DataRow In drs
s = dr("代码")
If s.Contains("Dim e As RequestEventArgs = args(0)") = False Then
dr("代码") = "Dim e As RequestEventArgs = args(0)" & vbcrlf & dr("代码")
End If
Functions.remove(dr("函数名称"))
Functions.Add(dr("函数名称"),dr("代码"))
MessageBox.Show(dr("函数名称"))
Next
MessageBox.Show("成功")
Functions.Complie()
DataTables("内部函数表").save
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.WriteFile(fl)
Return '这里必须返回
End Select
End If
Dim wb As New weui
Select Case e.Path
Case Tables("内部函数表").Current("网页名")
e.AsyncExecute = True '通知系统,将采用异步方式生成网页
Functions.AsyncExecute(Tables("内部函数表").Current("函数名称"), e) '异步调用函数生成网页
Case ""
e.AsyncExecute = True '通知系统,将采用异步方式生成网页
Functions.AsyncExecute("default", e) '异步调用函数生成网页
End Select
红色部分代码想实现系统自动判断当前网页名去对应的获取函数名称并将代码进行显示,当前运行有点不顺畅
麻烦老师们看看 有没有办法优化代码
实现用户不管是选择任何网页名的内容,都能够对应的匹配对应的函数名及代码值。