0

我遇到了这个不寻常的东西,我不确定它是什么。

我发现代码中有一个地方:

if(IsPostBack == false)
{
    string strInterior = Request["xmlString"];
}

我有一个使用 xml http object 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"]意味着什么。这在页面后面的代码中被调用。有任何想法吗?

4

4 回答 4

3

xmlString值正在发布到服务器,因此可以在服务器Request.Form集合中读取。

Request["string"]是一个索引器操作符,它通过 QueryString、Form、Cookies 和 ServerVariables 集合进行搜索。

在您的情况下,它正在寻找Form集合中的价值。

于 2012-09-27T15:03:23.990 回答
1

It's a syntax shortcut for the Item property of the HttpRequest, which will look for an item with that string as it's key in either the QueryString, Form, Cookies, or ServerVariables collections.

于 2012-09-27T15:09:00.090 回答
1

objTrim.send("xmlString=" + xmlString);

您正在执行 Ajax Post 以进行编码。xmlString 是一个查询字符串 id。要获取查询字符串的值,需要使用 Request["xmlString"] 或 Request.QueryString["xmlString"]

通过这种方式,我们通过 Ajax Get 或 Post 将值从客户端发送到服务器端。如果值长度足够小以适合一个网络数据包,我们可以使用“获取”。

您可以发送多个值 amso - 例如,objTrim.send("xmlString=" + xmlString + "&anothervalue=blablabla);

字符串 str_xmlstring = 请求["xmlString"]; 字符串 str_anothervalue = 请求["anothervalue"];

希望,这消除了所有的困惑。

干杯

于 2012-09-27T17:46:11.463 回答
0

Every time a form is sent to the server (every time you post something on a page), a collection of values is sent with the header in the form of Request.Form. So Request["something"] will get the "something" index of that collection.

于 2012-09-27T15:07:56.667 回答