繁体   English   中英

如何在ashx webHandler ASP.NET 3.5中阅读postdata

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM