Request[],Request.Form.Get()的区别??asp.net2.0中有几种方法获取本页提交的值?Request[id],Request.QueryString[id],REquest.Form[id]这是我以前知道的。今天看书看到一个Requst.Form.Get(id)。这些都可以获取本页控件(如 TextBox)的值吗?有什么区别?特别是Requst.Form.Get(id)与那三个的区别????事情是这样的:今天我看书学习做一个XML的通讯录,有一部分是建立XmlText对象,需要用本页上的控件(通讯录信息)的Text,书上是XmlText telephoneText = xdoc.CreateTextNode(Request.Form.Get("TextBoxTelephone"));---------1我以为跟这样是相同的:XmlText telephoneText = xdoc.CreateTextNode(Request["TextBoxTelephone"]);------------------2但结果为空,就是这些数据没有填入XML.看来没有获取到。没办法我就直接XmlText telephoneText = xdoc.CreateTextNode(TextBoxTelephone.Text);------------------------3◆◆我想问一下为什么第2办法不行?与第1种有何区别?◆◆另外我想问一下:本页内的提交,应该是用Request等什么的还是直接用“ 控件ID.Text” ?
1 回答

慕姐8265434
TA贡献1813条经验 获得超2个赞
都可以获取本页提交的数据。但QueryString仅用于Get方式。另外三种可用于Post方式。所以页面控件的值(若页面在Form中才行)采用Post方式,可以用三种方式获取。另外Request[]的方式可以获取Cookie、Form、QueryString、ServerVariables类型的值,即所有通过Request提交的都可以。
Request.Form返回的是NameValueCollection类型对象,该类型对象有Get方法。所以Request.Form[]和Request.Form.Get()是相同的。
所以,Request[]是无论何时都可以的方法,但必须将控件写在前台的Form标记中。至于你的为什么不行,我不知道,大概是别的原因。
- 1 回答
- 0 关注
- 232 浏览
添加回答
举报
0/150
提交
取消