[英]How to read postdata in a ashx webHandler ASP.NET 3.5
我试图在ashx webhandler中访问post数据,在MVC项目中我使用Newtonsoft.Json来实现这一点。
Dictionary<string, string> postData = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
这导致了一个字典,我可以访问帖子数据
if (postData.ContainsKey("myKey"))
{
someVar = postData["myKey"];
}
在另一个项目ASP.NET 3.5我似乎没有可用的Newtonsoft,我尝试使用:
object postData = new JavaScriptSerializer().DeserializeObject(data);
这个方法应该返回一个对象图,它似乎工作正常,如果我在visual studio中查看调试器,我可以看到我发布的数据:
如果输入postData,如何访问此对象中的数据? 我得到的唯一选项是:Equals,GetHashCode,GetType和ToString
我试过postData [0] .value;
但这会产生错误:无法应用索引。
尝试使用自定义类型而不是对象,看看它是否有效
public class yourKeyvalue
{
public string _Key{ get; set; }
public string _value{ get; set; }
}
var postData = new JavaScriptSerializer().Deserialize<yourKeyvalue>(data);
var Key = postData._Key
var Value = postData._value
DeserializeObject
输出一个字典,所以你应该能够这样做:
var postData = new JavaScriptSerializer().DeserializeObject(data) as Dictionary<string, object>;
var filename = postData["file"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.