Request[],Request.Form.Get()的區(qū)別??asp.net2.0中有幾種方法獲取本頁提交的值?Request[id],Request.QueryString[id],REquest.Form[id]這是我以前知道的。今天看書看到一個(gè)Requst.Form.Get(id)。這些都可以獲取本頁控件(如 TextBox)的值嗎?有什么區(qū)別?特別是Requst.Form.Get(id)與那三個(gè)的區(qū)別????事情是這樣的:今天我看書學(xué)習(xí)做一個(gè)XML的通訊錄,有一部分是建立XmlText對(duì)象,需要用本頁上的控件(通訊錄信息)的Text,書上是XmlText telephoneText = xdoc.CreateTextNode(Request.Form.Get("TextBoxTelephone"));---------1我以為跟這樣是相同的:XmlText telephoneText = xdoc.CreateTextNode(Request["TextBoxTelephone"]);------------------2但結(jié)果為空,就是這些數(shù)據(jù)沒有填入XML.看來沒有獲取到。沒辦法我就直接XmlText telephoneText = xdoc.CreateTextNode(TextBoxTelephone.Text);------------------------3◆◆我想問一下為什么第2辦法不行?與第1種有何區(qū)別?◆◆另外我想問一下:本頁內(nèi)的提交,應(yīng)該是用Request等什么的還是直接用“ 控件ID.Text” ?
1 回答

慕姐8265434
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
都可以獲取本頁提交的數(shù)據(jù)。但QueryString僅用于Get方式。另外三種可用于Post方式。所以頁面控件的值(若頁面在Form中才行)采用Post方式,可以用三種方式獲取。另外Request[]的方式可以獲取Cookie、Form、QueryString、ServerVariables類型的值,即所有通過Request提交的都可以。
Request.Form返回的是NameValueCollection類型對(duì)象,該類型對(duì)象有Get方法。所以Request.Form[]和Request.Form.Get()是相同的。
所以,Request[]是無論何時(shí)都可以的方法,但必須將控件寫在前臺(tái)的Form標(biāo)記中。至于你的為什么不行,我不知道,大概是別的原因。
- 1 回答
- 0 關(guān)注
- 226 瀏覽
添加回答
舉報(bào)
0/150
提交
取消