request.querystring和request.form的区别

request.querystring是根据地址栏信息获取数据的,在Form的Method为Get时,表单提交返回的地址是和ViewState相关的,其包含__EVENTTARGET、__EVENTARGUMENT、__VIEWSTATE等查询字符串,此时querystring可以根据相关信息,取得表单值。

request.form只有在Form的Method为Post时,才能获得表单控件,而此时地址信息不包含__EVENTTARGET、__EVENTARGUMENT、__VIEWSTATE等信息,所以querystring就不能获取的表单数据了。

例:下面我是一个测试两者区别的例子

页面代码:

< form  id ="form1"  runat ="server"  method ="get"  action ="Default.aspx?a=1&b=2" >
    
< br  />
    
< br  />
    
< br  />
    
< input  id ="Text2"  type ="text"  value ="Form"  name ="button1"   />
    
< input  id ="Submit1"  type ="submit"  value ="submit"   />
    
< id ="pRequestType" >
    
</ p >
    
< id ="pForm" >
    
</ p >
    
< id ="pQueryString" >
    
</ p >
     
< id ="pQueryString_Form" >
    
</ p >
    
</ form >

Get方法:在表单提交后转到和Form的action指定的地址关联的地址,其封装了一些表层数据。

 在地址栏直接输入http://localhost:1480/Default.aspx?a=1&b=2地址:

 request.querystring和request.form的区别

点击submit按钮:转到地址:http://localhost:1480/Default.aspx?__EVENTTARGET=gvDemo&__EVENTARGUMENT

request.querystring和request.form的区别

 

Post方法:在表单提交后转到Form的action指定的地址。

在地址栏直接输入http://localhost:1480/Default.aspx?a=1&b=2地址:

request.querystring和request.form的区别

点击submit按钮:转到地址:http://localhost:1480/Default.aspx?a=1&b=2s

request.querystring和request.form的区别

你可能感兴趣的:(request)