gpt4 book ai didi

javascript - 将具有未知属性的 JavaScript 对象发送到 asp.net MVC Controller

转载 作者:行者123 更新时间:2023-11-30 06:02:51 25 4
gpt4 key购买 nike

我已经阅读了很多关于如何将 JavaScript 对象发送到 asp.net MVC Controller 的博客和 stackoverflow 答案。但是到目前为止我看到的所有示例都要求您知道 JavaScript 对象将具有哪些属性(因为它们都将 JavaScript 对象转换为 C# 对象)。

当我在 asp.net webforms 中使用 PageMethods 时,我可以发送任何复杂的 JavaScript 对象或数组(甚至是分层数据),并且它会被转换成一个我可以迭代的字典。我有机会在 asp.net MVC 中做类似的事情吗?

最佳答案

我现在找到了一种适合我的方法。

  1. 我正在将我的数据转换为 json,并在我的 ASP.net MVC Controller 中将其作为字符串接收。
  2. 然后我使用 json.net库来读取数据 - 因为这个库允许我读取数据而无需将其转换为 C#(或 VB)对象。

JavaScript 代码:

//first include the json2 library for older browsers and jQuery
$.post(url, {json: JSON.stringify(mydata)});

服务器端代码:

public void xyz(string json)
{
JObject j = JObject.Parse(json);
string name = (string)j.SelectToken("Products[0].Name");
//...
}

好处:它是“普通”json,这意味着它不是一些不常见的格式或接口(interface)类型。

编辑:我发现如果我使用的是 .net 4,我什至不需要 C# json-library - 因为我可以借助JavaScriptSerializer:

JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary<string, object> data = (Dictionary<string, object>) jss.Deserialize<dynamic>(json_string);

关于javascript - 将具有未知属性的 JavaScript 对象发送到 asp.net MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com