Values、GetValues和PostValues

前面已经说过,不管是通过GET方式提交,还是通过POST方式提交,客户端提交的所有数据都包括在Values字典中。

HttpReqquest事件还有两个字典属性,他们是Values的子集:

GetValues: 字典,仅包括通过GET方式提交的数据。
PostValues:字典,仅包括通过POST方式提交的数据。

例如我们将HttpRequest事件代码设置为:

Select Case e.Path
    Case "input.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("<form enctype='multipart/form-data' action='accept.htm?id=1&page=10' method='post' id='form1' name='form1'>")
        sb.AppendLine(
"
产品: <input name='cp' id='cp'><br/><br/>")
        sb.AppendLine(
"
客户: <input name='kh' id='kh'><br/><br/>")
        sb.AppendLine(
"
数量: <input type='number' name='sl' id='sl'><br/><br/>")
        sb.AppendLine(
"
日期: <input type='date' name='rq' id='rq'><br/><br/>")
        sb.AppendLine(
"<input type='submit' name='sumbit' id='sumbit' value='
提交'>")
        sb.AppendLine(
"<input type='reset' name='reset' id='reset' value='
重置'>")
         sb.AppendLine("</form>")
        e.WriteString(sb.ToString)
    Case "accept.htm"
        Dim sb As New StringBuilder
        sb.AppendLine(
"
通过GET方式提交的数据:<br/><br/>")
        For Each key As String In e.GetValues.Keys
            sb.AppendLine(key & ":" & e.GetValues(key) & "<br/>")
        Next
        sb.AppendLine(
"<br/><br/>
通过POST方式提交的数据:<br/><br/>")
        For Each key As String In e.PostValues.Keys
            sb.AppendLine(key & ":" & e.PostValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)

End
Select

上述代码中,我们定义的表单的代码为:

<form enctype='multipart/form-data' action='accept.htm?id=1&page=10' method='post' id='form1' name='form1'>

用户输入完成单击提交按钮后,会将输入结果提交到地址"accept.htm?id=1&page=10",这个地址包括id和page两个值。

当用户按下图所示输入数据:

然后单击提交按钮,提交到后台后,可以看到分别显示GET和POST方式提交的数据:

 


本页地址:http://www.foxtable.com/mobilehelp/topics/0113.htm