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地址:

 

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

 

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

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

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

posted @ 2009-03-05 10:43  俩醒叁醉  阅读(716)  评论(0编辑  收藏  举报