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方式提交的数据: