我遇到了这个不寻常的事情,我不确定它是什么。
我发现代码中有一个地方:
if(IsPostBack == false)
{
string strInterior = Request["xmlString"];
}
我有一个使用xml http对象ajax的javascript页面(该项目位于 asp.net 1.1 )
这个xmlString是javascript中的一个变量,它包含一个XML格式的字符串,并按如下方式传递:
var objTrim = createXMLHttpObj();
var xmlString = "<UrlXML>";
xmlString += "<ID>" + id + "</ID>";
url = url + "abc.aspx?trim=";
objTrim.open("POST", url + escape(TrimRecordsValue) , true);
objTrim.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
objTrim.send("xmlString=" + xmlString);
我不确定这个Request["xmlString"]
是什么意思。这是在页面后面的代码中调用的。有什么想法吗?
答案 0 :(得分:3)
xmlString
值正在发布到服务器,因此可以在服务器Request.Form
collection中读取。
Request["string"]
是一个索引器运算符,用于搜索QueryString,Form,Cookies和ServerVariables集合。
在您的情况下,它会在Form
集合中找到值。
答案 1 :(得分:1)
这是HttpRequest
的{{3}}属性的语法快捷方式,它将查找具有该字符串的项目,因为它是QueryString
,Form
中的关键字, Cookies
或ServerVariables
个收藏。
答案 2 :(得分:1)
objTrim.send(&#34; xmlString =&#34; + xmlString);
你正在做Ajax Post后面的代码。 xmlString是查询字符串id。要获取查询字符串的值,您需要使用 请求[&#34; xmlString&#34;]或Request.QueryString [&#34; xmlString&#34;]
通过这种方式,我们通过Ajax Get或Post将值从客户端发送到服务器端。 我们可以使用&#34; Get&#34;,如果值的长度足够小,可以安装在一个网络数据包中。
您可以发送多个值 - 这是一个例如, objTrim.send(&#34; xmlString =&#34; + xmlString +&#34;&amp; anothervalue = blablabla);
string str_xmlstring = Request [&#34; xmlString&#34;]; string str_anothervalue =请求[&#34; anothervalue&#34;];
希望,这可以解决所有困惑。
欢呼声
答案 3 :(得分:0)
每次将表单发送到服务器时(每次 发布 页面上的某些内容),都会以表头形式发送一组值集合Request.Form
。因此Request [“something”]将获得该集合的“某物”索引。