以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  放在内部函数里要岀错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174633)

--  作者:qazlinle6
--  发布时间:2022/1/24 11:59:00
--  放在内部函数里要岀错
Select Case e.Path
    Case "testres.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("<meta name=\'viewport\' c>")
        sb.AppendLine("接收到的数据有:<br/><br/>")
        For Each key As String In e.PostValues.Keys
            sb.AppendLine(key & ":" & e.PostValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)
    Case Else
        Dim p As String = e.path
        If p = "" Then p = "*"
        Dim dr As DataRow = DataTables("httprequest").SQLFind("path=\'" & p & "\' or \'" & p & "\' like path ")
        If dr IsNot Nothing Then
            Functions.Execute(dr("内部函数"),e)
        Else
            Dim wb As New weui
            wb.InsertHTML("<p>杯具!页面丢失了!!</p>")
            wb.AppendHTML("<script>console.warn(\'" & e.path & "不在httprequest表,请检查是否没有设置.\')</script>")
            e.WriteString(wb.Build)
        End If
End Select
\'



图片点击可在新窗口打开查看此主题相关图片如下:qq浏览器截图20220124115452.png
图片点击可在新窗口打开查看




 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:授择.txt

    


放在内部函数里要岀错,

--  作者:有点蓝
--  发布时间:2022/1/24 12:23:00
--  
函数里面的return必须返回一个具体的值,比如
Return ""

或者
Return "xxx内容"

--  作者:qazlinle6
--  发布时间:2022/1/24 15:17:00
--  
授择的页面必须放在
一个函数里吗

--  作者:qazlinle6
--  发布时间:2022/1/24 16:04:00
--  
不放在一起直接查询关联的网页会显示404,而不是跳转登录页面
--  作者:有点蓝
--  发布时间:2022/1/24 16:18:00
--  
没看懂想表达什么意思。
--  作者:qazlinle6
--  发布时间:2022/1/24 16:29:00
--  
Dim wb As New weui
Select Case e.path
    Case "logon.htm" \'登录页面
..........
Case "default.htm"
...........
Case "1.htm"
...........
Case "2.htm"
...........
End Select

把上面每个页面全部折分成每个函数,现在如果我防问Case "2.htm",不会跳转Case "logon.htm" \'登录页面

每个函数前面是不是要加什么让没登录防问其它页面就跳转Case "logon.htm" \'登录页面,而不是显示404

--  作者:有点蓝
--  发布时间:2022/1/24 16:46:00
--  
如果没有拆分成每个函数前是正常的,说明拆分有问题。

另外登录验证的代码不要放到函数里处理,保留在调用函数前,比如:http://www.foxtable.com/mobilehelp/topics/0154.htm

--  作者:qazlinle6
--  发布时间:2022/1/24 16:56:00
--  
Select Case e.Path
    Case "testres.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("<meta name=\'viewport\' c>")
        sb.AppendLine("接收到的数据有:<br/><br/>")
        For Each key As String In e.PostValues.Keys
            sb.AppendLine(key & ":" & e.PostValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)
    Case Else
        Dim p As String = e.path
        If p = "" Then p = "*"
        Dim dr As DataRow = DataTables("httprequest").SQLFind("path=\'" & p & "\' or \'" & p & "\' like path ")
        If dr IsNot Nothing Then
            Functions.Execute(dr("内部函数"),e)
        Else
            Dim wb As New weui
            wb.InsertHTML("<p>杯具!页面丢失了!!</p>")
            wb.AppendHTML("<script>console.warn(\'" & e.path & "不在httprequest表,请检查是否没有设置.\')</script>")
            e.WriteString(wb.Build)
        End If
End Select


放这里面还是单独放这上面-下面 

--  作者:有点蓝
--  发布时间:2022/1/24 17:02:00
--  
如果看的是公众号的例子,里面有完整的处理方法,自己分析一下逻辑。

如果看不懂,还是安装帮助的用法好了,验证的代码都放到Select Case e.Path之前

--  作者:qazlinle6
--  发布时间:2022/1/24 17:06:00
--  
我放在 Select Case e.Path之前
连我不验证的页面也要验证了