【发布时间】:2011-10-25 09:11:07
【问题描述】:
我有一个 URL,并且正在通过另一个供应商的 ERP 软件在该 URL 上发布数据.....我想从该供应商那里收集在页面加载事件中发布在我的 URL 上的数据......应该是什么用 c# 在 ASP.NET 中完成了吗? 他没有字段名称,而是自动生成数据字符串,然后自动将其发布到我的 ASP.NET 页面。
【问题讨论】:
我有一个 URL,并且正在通过另一个供应商的 ERP 软件在该 URL 上发布数据.....我想从该供应商那里收集在页面加载事件中发布在我的 URL 上的数据......应该是什么用 c# 在 ASP.NET 中完成了吗? 他没有字段名称,而是自动生成数据字符串,然后自动将其发布到我的 ASP.NET 页面。
【问题讨论】:
首先,如果您知道您将收到什么样的数据,那么您应该添加:
Page.Response.ContentType = "text/xml"; //For XML Data
然后在流阅读器中读取该数据:
StreamReader sr = new StreamReader(Page.Request.InputStream);
streamreader 中的数据是 Url Encoded。因此,您必须在进一步使用之前对其进行解码:
string main = Server.UrlDecode(sr.ReadToEnd());
就是这样。希望对你有帮助。
【讨论】:
var parameter = Request.QueryString["parameterName"];
if (parameter != null)
{
//.. use it
}
【讨论】:
我知道您说查询没有字段名称;这意味着您不能像普通的 QueryString 一样使用字符串索引器来查找它。如果是这样,那么您可能必须在不知道查询键的情况下访问它。
假设您知道“数据”是第一个参数,您可以这样访问它:
string data = Request.QueryString.getKey(0);
如果不行,可以直接访问网址
string query = Request.Url.Query;
【讨论】:
如果他们正在执行 POST,您可以使用Request.Form。它将返回发布到 URL 的元素的 NameValueCollection,如果您不知道要发布的内容的名称,您可以循环访问它。如果你知道名字,那么你可以Request.Form["NamedItem"]。
【讨论】:
foreach(var key in Request)
{
var data = Request[key];
}
将遍历 Request.Querystrung、Request.Form 和 Request.Params。
【讨论】: