我正在使用以下代码在点击按钮时将数据发布到URL。我需要能够发送一个表单名称和这些数据。有什么建议吗?
string url = "http://www.someurl.com";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string proxy = null;
string data = String.Format("{0}={1}&{2}={3}&{4}={5}&{6}={7}&{8}={9}&{10}={11}",
txtName.ClientID, txtName.Text,
txtEmail.ClientID, txtEmail.Text,
txtLanguages.ClientID, txtLanguages.Text,
txtPhone.ClientID, txtPhone.Text,
txtAdditional.ClientID, txtAdditional.Text);
byte[] buffer = Encoding.UTF8.GetBytes(data);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = buffer.Length;
req.Proxy = new WebProxy(proxy, true); // ignore for local addresses
req.CookieContainer = new CookieContainer(); // enable cookies
Stream reqst = req.GetRequestStream(); // add form data to request stream
reqst.Write(buffer, 0, buffer.Length);
reqst.Flush();
reqst.Close();
答案 0 :(得分:0)
如果您的意思是操作,只需将其附加到网址即可。
答案 1 :(得分:0)
您可以将所需的任何键/值对附加到POST数据 - 无论是控件名称,表单名称,表单操作还是页面上任何位置都无关紧要。
顺便说一句,如果您要手动构建POST数据,则应对值进行URL编码,例如
string data = String.Format("{0}={1}&{2}={3}&{4}={5}&{6}={7}&{8}={9}&{10}={11}",
txtName.ClientID, HttpUtility.UrlEncode(txtName.Text),
...
答案 2 :(得分:0)
如果您使用不同的表单管理不同的活动,您还可以在表单与正在执行的活动之间发送隐藏变量,这样您就可以评估隐藏的隐藏值,并根据它进行操作。
或者将值和名称放在提交按钮中......它也会作为叛变变量进入您的脚本。