0

我的网站上有一个表单,它使用 jquery 收集数据和帖子,并使用 c# 处理。我使用 request.form 来捕获表单数据。

我的朋友说要创建一个 JavaScript 对象来传递数据,而不是加载大量变量。我的问题是,当您发布带有值对的对象时,您如何让 c# 从对象中获取值,因为我现在似乎无法使用 request.form。

4

5 回答 5

3

你看过JSON.Net吗?这使得 JSON(反)序列化非常容易

于 2012-04-17T18:39:34.473 回答
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);
于 2012-04-17T18:44:36.927 回答
1

Json.js 具有 Stringify() ,它将您的 js 对象转换为 Json 字符串,因此在 C# 中您可以将此字符串反序列化回一个对象

于 2012-04-17T18:45:58.953 回答
0

您可以使用 1 个隐藏字段并在该字段中放置一个 JSON 值/对字符串,然后在服务器端解析它。

于 2012-04-17T18:39:30.230 回答
0

我已经设法解决了这个问题。发布数据时,我必须使用 Request 而不是 Request.Form。现在这些值正在被传回。抱歉,如果我没有包含任何代码,我认为我提出的问题有点模棱两可。

于 2012-04-18T08:14:05.263 回答