Javascript 如何在c中从代码隐藏动态生成JSON对象
我想使用JSON对象制作流程图 HTML 这将在页面上创建一个流程图,如下所示 但是我需要根据sql查询结果动态地从代码后面填充这个json,我对javascript不熟悉,无法找到解决方案的确切方向。看看nuget包 您可以调用一种方法将对象序列化为JsonJavascript 如何在c中从代码隐藏动态生成JSON对象,javascript,c#,asp.net,json,webforms,Javascript,C#,Asp.net,Json,Webforms,我想使用JSON对象制作流程图 HTML 这将在页面上创建一个流程图,如下所示 但是我需要根据sql查询结果动态地从代码后面填充这个json,我对javascript不熟悉,无法找到解决方案的确切方向。看看nuget包 您可以调用一种方法将对象序列化为Json 例如,JsonConvert.myobj 详细的回答可能会有所帮助 创建类,如 public class connections { public string start { get; set; } public str
例如,JsonConvert.myobj 详细的回答可能会有所帮助 创建类,如
public class connections
{
public string start { get; set; }
public string end { get; set; }
}
public class chartItem
{
public string id { get; set; }
public string type { get; set; }
public int left { get; set; }
public int top { get; set; }
public string content { get; set; }
}
// holding both chartItems and nodes
public class ChartJson
{
public List<connections> connections { get; set; }
public List<chartItem> nodes { get; set; }
}
在.aspx页面上
在.aspx页面上,使用下面的jQuery调用函数
$(function () {
$.getJSON("api/Chart/Get", function (result) {
console.log(result.connections); //Check results and bind with your chart object
console.log(result.nodes); //Check results and bind with your chart object
})
});
谢谢是的,我们可以使用javascript seralize和desearlize选项动态地传递给代码隐藏 例如:
注意:使用system.web.serialization或newtonsoftjson dll创建WebAPI并包含odate服务协议将解决odate的问题。请参阅附带链接这应该是多动态的?在每个页面上生成请求?或者甚至在页面请求之间,使用AJAX?你已经看过了吗?既然你在谈论代码隐藏,你是在使用WebForms吗?@Marcel Generate在每个页面请求上,不,我没有检查Json,NET,是的,使用web表单如果您已经获得了JsonObject,请尝试JordanW技巧,即使用Newtonsoft.json包的JsonConvert.SerializeObjectMyObject这正是我所需要的。
public class ChartController : ApiController
{
public ChartJson Get()
{
ChartJson chartJson = new ChartJson();
chartJson.nodes = getNodes(); //function to get data from database
chartJson.connections = getConnections(); //function to get data from database
return chartJson;
}
}
$(function () {
$.getJSON("api/Chart/Get", function (result) {
console.log(result.connections); //Check results and bind with your chart object
console.log(result.nodes); //Check results and bind with your chart object
})
});
result = JSON.stringify(p)// from client side it serialize json object
var a =new JavaScriptSerializer().Deserialize<class>(result) // server side seralize