我的网站上有一个表单,它使用 jquery 收集数据和帖子,并使用 c# 处理。我使用 request.form 来捕获表单数据。
我的朋友说要创建一个 JavaScript 对象来传递数据,而不是加载大量变量。我的问题是,当您发布带有值对的对象时,您如何让 c# 从对象中获取值,因为我现在似乎无法使用 request.form。
我的网站上有一个表单,它使用 jquery 收集数据和帖子,并使用 c# 处理。我使用 request.form 来捕获表单数据。
我的朋友说要创建一个 JavaScript 对象来传递数据,而不是加载大量变量。我的问题是,当您发布带有值对的对象时,您如何让 c# 从对象中获取值,因为我现在似乎无法使用 request.form。
你看过JSON.Net吗?这使得 JSON(反)序列化非常容易
.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);
Json.js 具有 Stringify() ,它将您的 js 对象转换为 Json 字符串,因此在 C# 中您可以将此字符串反序列化回一个对象
您可以使用 1 个隐藏字段并在该字段中放置一个 JSON 值/对字符串,然后在服务器端解析它。
我已经设法解决了这个问题。发布数据时,我必须使用 Request 而不是 Request.Form。现在这些值正在被传回。抱歉,如果我没有包含任何代码,我认为我提出的问题有点模棱两可。