我的网站上有一个表单,它使用jquery使用c#来处理数据和帖子。我使用request.form来捕获表单数据。
我的朋友说要创建一个JavaScript对象来传递数据,而不是传递大量的变量。我的问题是当你发布一个带有值对的对象时,如何从对象中获取c#,因为我现在似乎无法使用request.form。
答案 0 :(得分:3)
你看过JSON.Net了吗?这使得JSON(de)序列化变得非常简单
答案 1 :(得分:1)
.NET有一个内置的JavaScript(即JSON)序列化程序。它位于System.Web.Extensions。
JavaScriptSerializer serializer = new JavaScriptSerializer();
// To serialize
Dictionary<string, object> test = new Dictionary<string, object>(){ { "a", 1 } };
string json = serializer.Serialize(test);
// To deserialize (convert back to a .NET object)
Dictionary<string, object> result = serializer.Deserialize<Dictionary<string, object>>(json);
答案 2 :(得分:1)
Json.js有Stringify(),它将你的js对象转换为Json String,所以在C#中你可以将这个字符串反序列化回一个对象
答案 3 :(得分:0)
您可以使用1个隐藏字段并在该字段中放置JSON值/对字符串,然后在服务器端进行解析。
答案 4 :(得分:0)
我已成功解决了这个问题。 发布数据时,我必须使用Request而不是Request.Form。现在价值被传回来了。很抱歉,如果我没有包含任何代码,我认为我提出的问题有点含糊不清。