表单提交
<!--表单:收集用户的数据。---> <form method="post" action="AddInfo.ashx"> 用户名:<input type="text" name="txtName" /><br /> 密码:<input type="password" name="txtPwd" /><br /> <input type="submit" value="提交" /> </form>
1 context.Response.ContentType = "text/plain"; 2 //string userName=context.Request.QueryString["txtName"];//接收的是表单元素name属性的值 3 // string userPwd=context.Request.QueryString["txtPwd"]; 4 5 string userName = context.Request.Form["txtName"]; 6 string userPwd = context.Request.Form["txtPwd"]; 7 8 context.Response.Write("用户名是:"+userName+",密码是:"+userPwd);
这里要说到的是queryString的用法
当页面上的 Form以 GET方式向页面发送请求数据 (如数据含有不安全字符,则浏览器先将其转换成 16进制的字符再传送,如空格被转成 %20)时, WEB SERVER 将请求数据放入一名为 QUERY_STRING的环境变量中,QueryString 方法是从这一环境变量中取出相应的值,并将被转成 16进制的字符还原 (如 %20 被还原成空格 )。
如表单上有一 name为 username的文本框及一 name为 password的文本框 ,
当表单提交时,会产生这样的 URL串: http://www.xxxxx.com/xxxx.asp?username=nnnnn&password=mmmmm
使用 Request.QueryString( "username ") 会得到 字符串 "nnnnn "
Request.QueryString( "password ") 得到 "mmmmm " !
foreach(var xKey in Request.QueryString ) { response.write( " <p> " & xkey & " = " & Request.QueryString(xkey) & " </p> ") next
Request 和QUeryString的区别
1 Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables.Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了. 2 现在我们来分析下你得问题. 3 假设有个页面 test.asp?id=111 4 这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集合,首先就会从Querystring搜索. 5 6 而如果我们的页面是用的是POST的方法发送数据给test.asp,那么用request.querystring("id")是不行的了(他只能取GET),
而要用request.from("id"),而如果还用request("id")他也能取到数据,但先检测QUERYSTRING的值,显然速度就慢了.
ASPX的增删改查
三层搭建