2014-03-25 46 views
0

如何在ASP.Net中的頁面加載事件中調用json對象。我在客戶端創建一個JSON對象在ASP.NET中的頁面加載事件中調用JSON對象

jsonObject = {"rooms": [{ 
        "adult": adult.val(), "child": child.val() 
       }]} 

一個頁面上,那麼我通過這個對象到另一頁是這樣的:

var w = window.open("Default.aspx"); 
w.myVariable = jsonObject; 

我能夠得到的JSONObject Default.aspx中在客戶端頁面通過

var jsonObject = window.opener.jsonObject.rooms 

,但我想在服務器上調用Default.aspx頁面的頁面加載事件此對象。這樣的事情:

protected void Page_Load(object sender, EventArgs e) 
{ 
//var jsonobject = jsonObject; 
} 

請有人可以解釋我如何做到這一點。感謝名單

回答

0

這裏是這樣使用.net System.Web.Script.Serialization類的一個簡單的例子。

簡單的購物車示例。 JSON字符串被反序列化並添加到ShoppingCart對象中。現在使用通用列表(newItem),您可以使用強類型的JSON值,任何你想要的服務器端。

protected void Page_Load(object sender, EventArgs e) 
{ 
    using (StreamReader reader = new StreamReader(Request.InputStream)) 
    { 
     json = reader.ReadToEnd(); 
    } 

    var jsonObj = new JavaScriptSerializer().Deserialize<ShoppingCart>(json); 

    List<ShoppingCart> newItem = new List<ShoppingCart>(); 
    newItem.Add(new ShoppingCart(jsonObj.ProductId, 
           jsonObj.ProductTitle, 
           jsonObj.DefaultImagePath, 
           jsonObj.Quantity, 
           jsonObj.Price, 
           jsonObj.Total); 

} 
相關問題