Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在c中从代码隐藏动态生成JSON对象_Javascript_C#_Asp.net_Json_Webforms - Fatal编程技术网

Javascript 如何在c中从代码隐藏动态生成JSON对象

Javascript 如何在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

我想使用JSON对象制作流程图

HTML

这将在页面上创建一个流程图,如下所示

但是我需要根据sql查询结果动态地从代码后面填充这个json,我对javascript不熟悉,无法找到解决方案的确切方向。

看看nuget包

您可以调用一种方法将对象序列化为Json


例如,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