1

我们如何从 Request.Form 集合中删除一个字段

 Request.Form.Remove("myfield");

给出错误:集合是只读的。

编辑:我正在向外部 API 发送表单,它不需要字段并给出错误。我在内部申请中需要该字段。发送我使用的表格

XXX_API.Post(Request.Form, ID); 
4

1 回答 1

2

HttpRequest.Form只是一个NameValueCollection。您可以根据需要提供给 API 的表单中的数据自由创建另一个 NameValueCollection,而忽略您无法发布到 API 的任何字段。然后,您可以将新的 NameValueCollection 发送到 API。

如果要选择键,可以使用以下方法:

NameValueCollection formToPost = new NameValueCollection();

formToPost.Add("SomeKey", Request.Form["SomeKey"]);
formToPost.Add("AnotherKey", Request.Form["AnotherKey"]);

XXX_API.Post(formToPost, ID);

或者,如果您想要除一键之外的所有内容,则可以使用以下内容,这更简单一些。它使用了重载的构造函数Remove方法。

NameValueCollection formToPost = new NameValueCollection(Request.Form);    
formToPost.Remove("FieldToRemove");

XXX_API.Post(formToPost, ID);
于 2012-09-26T15:26:07.733 回答