簡體   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