我使用c#作为代码。
我的表格提交时有很多价值,下面是其中几个:
skywardsNumber 99999039t
password a2222222
ctl00$MainContent$ctl22$FlightSchedules1$ddlDepartureAirport-suggest Alice Springs (ASP)
ctl00$MainContent$ctl22$ctl07$txtPromoCode ManojPromo
现在我想将所有FORM发布的值存储在asp.net字典中,然后该字典对象将保存在 SESSIONS 中以供进一步使用。
请建议如何在 asp.net DICTIONARY 中存储 FORM POSTED 值。
答案 0 :(得分:4)
尝试这种方法:
using System.Linq;
using System.Collections;
using System.Collections.Generic;
...
Dictionary<string, string> form = new Dictionary<string, string>(from key in Request.Form.AllKeys select new DictionaryEntry(key, Request.Form[key]));
Session["MyKey"] = form;
<强>更新强>
没有LINQ:
Dictionary<string, string> form = new Dictionary<string, string>();
foreach(string key in Request.Form.AllKeys)
form.Add(key, Request.Form[key]);
Session["MyKey"] = form;
答案 1 :(得分:0)
您应该可以执行以下操作。
Request["varaibleName"];
或循环
foreach ( string var in Request.Form ) {
Response.Write ( Request.Form[ var ] );
}
答案 2 :(得分:0)
您可以创建一个实现IDictionary的类:
public class RequestDictionary : IDictionary<string, string>
{
private HttpRequest request;
public RequestDictionary(HttpRequest request)
{
this.request = request;
}
public string this[string key] {
get { return request(key); }
set {
throw new NotImplementedException();
}
}
// ...
}
然后,您可以根据请求创建RequestDictionary对象,并将其用作字典,而无需在新字典中复制所有值。