如何在ASP.Net中的页面加载事件上调用json对象。我创建了一个json对象
jsonObject = {"rooms": [{
"adult": adult.val(), "child": child.val()
}]}
在客户端的页面上,然后我将此对象传递给另一个页面,如下所示:
var w = window.open("Default.aspx");
w.myVariable = jsonObject;
我可以通过
在客户端的Default.aspx页面中获取JsonObject var jsonObject = window.opener.jsonObject.rooms
但我想在服务器上的Default.aspx页面的页面加载事件上调用此Object。像这样:
protected void Page_Load(object sender, EventArgs e)
{
//var jsonobject = jsonObject;
}
请有人解释我如何实现这一目标。感谢名单
答案 0 :(得分: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);
}