{"id":2815,"date":"2012-04-18T17:40:00","date_gmt":"2012-04-18T12:10:00","guid":{"rendered":"http:\/\/blog.fusioncharts.com\/?p=2815"},"modified":"2026-01-20T14:41:11","modified_gmt":"2026-01-20T09:11:11","slug":"javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt","status":"publish","type":"post","link":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/","title":{"rendered":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4"},"content":{"rendered":"In the last part of FusionCharts XT with ASP.NET series, we will create LinkedCharts using MS SQL Server data and C#. LinkedCharts is a pioneering concept by FusionCharts, which allows you to create unlimited levels of drill-down using a single data source. LinkedCharts is most useful when the user requires to go from a summarized view to a granular view, such as annual revenue &gt;&gt; quarterly revenue &gt;&gt; monthly revenue, and back in the reverse order. LinkedCharts help in maintaining the <em>context<\/em> of the complete data set when the user is traversing down (or up). In LinkedCharts, the parent chart contains all the data or data sources for its child charts. The child charts can also be configured in every way imaginable.\r\n\r\n<blockquote>\r\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#FusionCharts_XT_with_ASPNET\" title=\"FusionCharts XT with ASP.NET\">FusionCharts XT with ASP.NET<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#What_we_are_going_to_visualize\" title=\"What we are going to visualize\">What we are going to visualize<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#NET_library_bundled_with_FusionCharts_XT\" title=\".NET library bundled with FusionCharts XT\">.NET library bundled with FusionCharts XT<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#What_we_will_need\" title=\"What we will need\">What we will need<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Attributes_of_LinkedCharts\" title=\"Attributes of LinkedCharts\">Attributes of LinkedCharts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#LinkedCharts_using_Data_URL\" title=\"LinkedCharts using Data URL\">LinkedCharts using Data URL<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#LinkedCharts_using_Data_String\" title=\"LinkedCharts using Data String\">LinkedCharts using Data String<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Data_URL_or_Data_String\" title=\"Data URL or Data String?\">Data URL or Data String?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Creating_LinkedCharts_using_Data_URL_method\" title=\"Creating LinkedCharts using Data URL method\">Creating LinkedCharts using Data URL method<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Creating_LinkedCharts_using_Data_String_method\" title=\"Creating LinkedCharts using Data String method\">Creating LinkedCharts using Data String method<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Configuring_LinkedCharts\" title=\"Configuring LinkedCharts\">Configuring LinkedCharts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#LinkedCharts_Events\" title=\"LinkedCharts Events\">LinkedCharts Events<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Download_sample_project\" title=\"Download sample project\">Download sample project<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#Concluding_the_series\" title=\"Concluding the series\">Concluding the series<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"FusionCharts_XT_with_ASPNET\"><\/span>FusionCharts XT with ASP.NET<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<ul>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/javascript-charts-with-asp-net-c-using-fusioncharts-xt-part-1\/\">Part 1 &#8211; Create JavaScript charts in ASP.NET (C#)<\/a><\/li>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/javascript-charts-using-sql-server-data-with-fusioncharts-xt-part-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Part 2 &#8211; Plot JavaScript charts using SQL Server data<\/a><\/li>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/drill-down-javascript-charts-in-asp-netc-with-fusioncharts-xt\/\">Part 3 &#8211; Create Drill-Down charts in ASP.NET(C#)<\/a><\/li>\r\n\t<li><a href=\"#\">Part 4 &#8211; Create LinkedCharts in ASP.NET(C#)<\/a><\/li>\r\n<\/ul>\r\n<\/blockquote>\r\n<h2><span class=\"ez-toc-section\" id=\"What_we_are_going_to_visualize\"><\/span>What we are going to visualize<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nIn the previous article of this series, we created a drill-down chart, where the user can go from the annual revenue chart to the monthly revenue chart. We will make use of the same data, and create a LinkedChart:\r\n\r\n\r\nThe <code>overlay<\/code> button at the top-right helps a user immensely while traversing up or down a data set. You can check out a few more implementations of <a href=\"https:\/\/www.fusioncharts.com\/features\/linkedcharts-for-drill-down\/\" target=\"_blank\" rel=\"noopener noreferrer\">LinkedCharts in our Features Gallery<\/a>.\r\n<h2><span class=\"ez-toc-section\" id=\"NET_library_bundled_with_FusionCharts_XT\"><\/span>.NET library bundled with FusionCharts XT<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nFusionCharts XT is essentially a <a href=\"https:\/\/www.fusioncharts.com\/\"><strong>JavaScript charting library<\/strong><\/a>. In order to render a chart, a certain amount of HTML and JavaScript is required, along with the chart data in <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?DataFormats\/XML\/Overview.html\" target=\"_blank\" rel=\"noopener noreferrer\">XML<\/a> or <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?DataFormats\/JSON\/Overview.html\" target=\"_blank\" rel=\"noopener noreferrer\">JSON<\/a>.\r\n\r\nTo automatically generate this HTML and JavaScript code, we provide a .NET library with FusionCharts XT, which generates the HTML and JavaScript required. You can find this library in <code>FusionCharts XT Download Package &gt; Code &gt; CS &gt; Bin &gt; FusionCharts.dll<\/code>.\r\n<h2><span class=\"ez-toc-section\" id=\"What_we_will_need\"><\/span>What we will need<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<ul>\r\n\t<li>Visual Studio or Visual Web Developer<\/li>\r\n\t<li>SQL Server<\/li>\r\n\t<li><a href=\"https:\/\/www.fusioncharts.com\/download\/\/\" target=\"_blank\" rel=\"noopener noreferrer\">The latest version of FusionCharts XT<\/a><\/li>\r\n\t<li>The <a href=\"https:\/\/www.fusioncharts.com\/dev\/getting-started\/aspnet\/your-first-chart-using-aspnet\" target=\"_blank\" rel=\"noopener noreferrer\">sample project that we created in the 2nd part of this series<\/a>. This project has a database included in the Visual Studio solution. You will only need to modify the path to the database in the connection string.<\/li>\r\n<\/ul>\r\n<h2><span class=\"ez-toc-section\" id=\"Attributes_of_LinkedCharts\"><\/span>Attributes of LinkedCharts<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nWhen creating LinkedCharts, you will have to provide the data for the child charts in either <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?guide-for-web-developers\/how-fusioncharts-works\/DataURL.html\" target=\"_blank\" rel=\"noopener noreferrer\">Data URL<\/a> or <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?guide-for-web-developers\/how-fusioncharts-works\/DataXMLExp.html\" target=\"_blank\" rel=\"noopener noreferrer\">Data String<\/a> formats using the <code>link<\/code> attribute.\r\n<ul>\r\n\t<li>\r\n<h3><span class=\"ez-toc-section\" id=\"LinkedCharts_using_Data_URL\"><\/span>LinkedCharts using Data URL<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<\/li>\r\n<\/ul>\r\nIn the Data URL method, we can point to a static XML file which provides the data for this particular child. The syntax for Data URL method is:\r\n<pre class=\"lang:xml\"><\/pre>\r\n\r\nThe <code>newChart<\/code> prefix is used to indicate that it must invoke LinkedCharts. <code>xmlURL<\/code> indicates that Data URL method is used to specify XML data for the linked child charts. In case of JSON data, <code>jsonurl<\/code> is used. <code>URL<\/code> specifies the data path for the linked chart that opens when this column is clicked.\r\n So according to the syntax, you would provide the child chart&#8217;s data in this way:\r\n\r\n<pre class=\"lang:xml\"><\/pre>\r\nWe can also point to a virtual data provider, such as a server-side script which returns <em>only<\/em> XML, with <code>Content-type<\/code> set to <code>text\/xml<\/code>:\r\n<pre class=\"lang:xml\"><\/pre>\r\n<ul>\r\n\t<li>\r\n<h3><span class=\"ez-toc-section\" id=\"LinkedCharts_using_Data_String\"><\/span>LinkedCharts using Data String<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<\/li>\r\n<\/ul>\r\n\r\nWhen using the Data String method, the child chart&#8217;s data will have to be <em>within<\/em> the parent chart. Each data plot item in the parent chart is then linked to the child chart&#8217;s data (embedded in parent data source) by means of a unique data identifier. The syntax for Data String method is:\r\n\r\n<pre class=\"lang:xml\">{child chart data comes here}<\/pre>\r\nAccording to this syntax, this demo&#8217;s code would have to be:\r\n<pre class=\"lang:xml\">    \r\n    \r\n    \r\n        \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n        \r\n        \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n        \r\n        \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n            \r\n        \r\n\r\n<\/pre>\r\n<ul>\r\n\t<li>\r\n<h3><span class=\"ez-toc-section\" id=\"Data_URL_or_Data_String\"><\/span>Data URL or Data String?<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<\/li>\r\n<\/ul>\r\nIt is apparent from the samples above, the Data URL method is more concise than the Data String method. If you have more than 1 level of drill-down, your XML string will get large, and consequently difficult to debug. Load times for your charts might suffer too.\r\n<h2><span class=\"ez-toc-section\" id=\"Creating_LinkedCharts_using_Data_URL_method\"><\/span>Creating LinkedCharts using Data URL method<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nAs you already know from the first 3 articles, the Data URL method requires 3 things:\r\n<ol>\r\n\t<li>The parent chart (which we created in the 2nd article)<\/li>\r\n\t<li>The correct path to the data provider in the <code>link<\/code> attribute (see below)<\/li>\r\n\t<li>The data provider (see further below!)<\/li>\r\n<\/ol>\r\nIn the project that you downloaded above, you will have <code>Using_MS_SQL_Server.aspx<\/code>. Rename it to <code>LinkedCharts_DataURL_Method.aspx<\/code>. In the code-behind for this page, edit the part where you create the dataplots as below:\r\n<pre class=\"lang:csharp\">\/\/ Construct the chart data in XML format\r\n\/\/ Provide the path to the data provider in the 'link' attribute, along with the 'year' in the querystring.\r\nxmlStr.AppendFormat(\"\", rst[\"yr\"].ToString(), rst[\"AMOUNT\"].ToString(), Server.UrlEncode(\"DataProvider.aspx?year=\" + rst[\"yr\"].ToString()));\r\n<\/pre>\r\nSave. Let us now create the data provider for the child charts.\r\n<ul>\r\n\t<li>Add a web form to the Solution and save it as <code>DataProvider.aspx<\/code>.<\/li>\r\n\t<li>From <code>DataProvider.aspx<\/code>, delete everything except the first line. Since this page is supposed to only return the XML, we would not need any HTML tags here.<\/li>\r\n<\/ul>\r\nIn <code>DataProvider.aspx.cs<\/code>, write the following code:\r\n<pre class=\"lang:csharp\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Web;\r\nusing System.Web.UI;\r\nusing System.Web.UI.WebControls;\r\nusing System.Data;\r\nusing System.Data.Sql;\r\nusing System.Data.SqlClient;\r\nusing System.Text;\r\nusing InfoSoftGlobal;\r\n\r\npublic partial class DataProvider : System.Web.UI.Page\r\n{\r\n    protected void Page_Load(object sender, EventArgs e)\r\n    {\r\n        \/\/ Construct the connection string to interface with the SQL Server Database\r\n        string connStr2 = @\"Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Fusion Charts\\Documents\\Visual Studio 2010\\WebSites\\FusionChartsXT_with_ASPNET\\App_Data\\FusionChartsDB.mdf;Integrated Security=True;User Instance=True\";\r\n\r\n        \/\/ Initialize the string which would contain the chart data in XML format\r\n        StringBuilder xmlStr_monthly_data = new StringBuilder();\r\n\r\n        \/\/ Capture the year from the querystring\r\n        String year = Request.QueryString[\"year\"];\r\n\r\n        \/\/ Provide the relevant customization attributes to the chart\r\n        xmlStr_monthly_data.Append(\"\");\r\n\r\n        \/\/ Create a SQLConnection object \r\n        using (SqlConnection conn2 = new SqlConnection(connStr2))\r\n        {\r\n            \/\/ Establish the connection with the database\r\n            conn2.Open();\r\n\r\n            \/\/ Construct and execute SQL query which would return the total amount of the sales for each month of the year specified.\r\n            SqlCommand query_monthly_data = new SqlCommand(\"SELECT SUM(FC_OrderDetails.UnitPrice * FC_OrderDetails.Quantity) AS AMOUNT, DATENAME(MONTH, FC_Orders.OrderDate) AS Month FROM FC_Orders INNER JOIN FC_OrderDetails ON FC_OrderDetails.OrderID = FC_Orders.OrderID WHERE YEAR(FC_Orders.OrderDate) = '\" + year + \"' GROUP BY MONTH(FC_Orders.OrderDate), DATENAME(MONTH, FC_Orders.OrderDate) ORDER BY MONTH(FC_Orders.OrderDate), DATENAME(MONTH, FC_Orders.OrderDate)\", conn2);\r\n\r\n            \/\/ Begin iterating through the result set\r\n            SqlDataReader monthly_data = query_monthly_data.ExecuteReader();\r\n\r\n\r\n            while (monthly_data.Read())\r\n            {\r\n                \/\/ Construct the chart data in XML format\r\n                xmlStr_monthly_data.AppendFormat(\"\", monthly_data[\"Month\"].ToString(), monthly_data[\"AMOUNT\"].ToString());\r\n            }\r\n\r\n            \/\/ End the XML string\r\n            xmlStr_monthly_data.Append(\"\");\r\n\r\n            \/\/ Close the result set Reader object and the Connection object\r\n            monthly_data.Close();\r\n            conn2.Close();\r\n\r\n            \/\/ Set the ContentType to \"text\/xml\" and write the XML string in response\r\n            Response.ContentType = \"text\/xml\";\r\n            Response.Write(xmlStr_monthly_data.ToString());\r\n        }\r\n    }\r\n}\r\n<\/pre>\r\nSave. Switch to <code>LinkedCharts_DataURL_Method.aspx<\/code> and run the project. This is the LinkedChart that you should see:\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Creating_LinkedCharts_using_Data_String_method\"><\/span>Creating LinkedCharts using Data String method<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nFor the Data String method, we would need only 1 page to do both &#8211; provide the data and render the chart. Add a new web form to the Solution and save it as <code>LinkedCharts_DataString_Method.aspx<\/code>.\r\n\r\nYou can copy the contents from <code>LinkedCharts_DataURL_Method.aspx<\/code> to <code>LinkedCharts_DataString_Method.aspx<\/code>. Let us now concern ourselves with the code-behind:\r\n<pre class=\"lang:csharp\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Web;\r\nusing System.Web.UI;\r\nusing System.Web.UI.WebControls;\r\nusing System.Data;\r\nusing System.Data.Sql;\r\nusing System.Data.SqlClient;\r\nusing System.Text;\r\nusing InfoSoftGlobal;\r\n\r\n\r\npublic partial class Using_MS_SQL_Server : System.Web.UI.Page\r\n{\r\n    protected void Page_Load(object sender, EventArgs e)\r\n    {\r\n        \/\/ Create a blank array, and add each 'year' to it\r\n        string[] year = new string[4];\r\n\r\n        \/\/ To iterate through the array\r\n        int i = 0;\r\n \r\n        \/\/ Construct the connection string to interface with the SQL Server Database\r\n        string connStr = @\"Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Fusion Charts\\Documents\\Visual Studio 2010\\WebSites\\FusionChartsXT_with_ASPNET\\App_Data\\FusionChartsDB.mdf;Integrated Security=True;User Instance=True\";\r\n\r\n        \/\/ Initialize the string which would contain the chart data in XML format\r\n        StringBuilder xmlStr = new StringBuilder();\r\n\r\n        \/\/ Provide the relevant customization attributes to the chart\r\n        xmlStr.Append(\"\");\r\n\r\n        \/\/ Create a SQLConnection object \r\n        using (SqlConnection conn = new SqlConnection(connStr))\r\n        {\r\n            \/\/ Establish the connection with the database\r\n            conn.Open();\r\n\r\n            \/\/ Construct and execute SQL query which would return the total revenue for each year\r\n            SqlCommand query = new SqlCommand(\"SELECT SUM(FC_OrderDetails.UnitPrice * FC_OrderDetails.Quantity) AS AMOUNT, YEAR(FC_Orders.OrderDate) AS yr FROM FC_Orders INNER JOIN FC_OrderDetails ON FC_OrderDetails.OrderID = FC_Orders.OrderID GROUP BY YEAR(FC_Orders.OrderDate) ORDER BY YEAR(FC_Orders.OrderDate)\", conn);\r\n\r\n            \/\/ Begin iterating through the result set\r\n            SqlDataReader rst = query.ExecuteReader();\r\n\r\n\r\n            while (rst.Read())\r\n            {\r\n                \/\/ Accumulate the 'year' in the array. This will be useful later.\r\n                year[i] = rst[\"yr\"].ToString();\r\n\r\n                \/\/ Construct the chart data in XML format, and provide the links to the child charts' data\r\n                xmlStr.AppendFormat(\"\", rst[\"yr\"].ToString(), rst[\"AMOUNT\"].ToString(), rst[\"yr\"].ToString());\r\n                i++;\r\n            }\r\n\r\n            \/\/ Close the result set Reader object and the Connection object\r\n            rst.Close();\r\n\r\n            for(int j = 0; j &lt; 3; j++) \r\n            {\r\n\r\n                \/\/ Construct and execute SQL query which would return the total revenue for each month of the specified year\r\n                SqlCommand linkedChartQuery = new SqlCommand(\"SELECT SUM(FC_OrderDetails.UnitPrice * FC_OrderDetails.Quantity) AS AMOUNT, DATENAME(MONTH, FC_Orders.OrderDate) AS Month FROM FC_Orders INNER JOIN FC_OrderDetails ON FC_OrderDetails.OrderID = FC_Orders.OrderID WHERE YEAR(FC_Orders.OrderDate) = '\" + year[j] + \"' GROUP BY MONTH(FC_Orders.OrderDate), DATENAME(MONTH, FC_Orders.OrderDate) ORDER BY MONTH(FC_Orders.OrderDate), DATENAME(MONTH, FC_Orders.OrderDate)\", conn);\r\n\r\n                \/\/ Begin iterating through the result set\r\n                SqlDataReader linkedChartRst = linkedChartQuery.ExecuteReader();\r\n\r\n                \/\/ Specify the ID for each child chart\r\n                xmlStr.AppendFormat(\"\");\r\n\r\n                \/\/ Construct the XML data for the child chart\r\n                xmlStr.AppendFormat(\"\");\r\n                while (linkedChartRst.Read())\r\n                {\r\n                    \/\/ Construct the chart data in XML format\r\n                    xmlStr.AppendFormat(\"\", linkedChartRst[\"Month\"].ToString(), linkedChartRst[\"AMOUNT\"].ToString());\r\n                }\r\n\r\n                \/\/ Terminate the child chart's data, as well as the 'linkeddata' attribute\r\n                xmlStr.Append(\"\");\r\n\r\n                \/\/ Close the result set Reader object\r\n                linkedChartRst.Close();\r\n            }\r\n\r\n            \/\/ Close the XML for the parent chart\r\n            xmlStr.Append(\"\");\r\n            conn.Close();\r\n\r\n            \/\/ Set the rendering mode to JavaScript, from the default Flash.\r\n            FusionCharts.SetRenderer(\"javascript\");\r\n\r\n            \/\/ Call the RenderChart method, pass the correct parameters, and write the return value to the Literal tag\r\n            chart_from_db.Text = FusionCharts.RenderChart(\r\n                \"FusionChartsXT\/Column2D.swf\", \/\/ Path to chart's SWF\r\n                \"\", \/\/ Page which returns chart data. Leave blank when using Data String.\r\n                xmlStr.ToString(), \/\/ String containing the chart data. Leave blank when using Data URL.\r\n                \"annual_revenue\",   \/\/ Unique chart ID\r\n                \"640\", \"340\",       \/\/ Width &amp; Height of chart\r\n                false,              \/\/ Disable Debug Mode\r\n                true);              \/\/ Register with JavaScript object\r\n        }\r\n        \r\n    }\r\n}\r\n<\/pre>\r\nSave. Run the project. This is what you should see:\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Configuring_LinkedCharts\"><\/span>Configuring LinkedCharts<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nUsing the FusionCharts XT JavaScript API, you can configure every aspect of the child charts. For this, we\u2019ve provided the <code>configureLink()<\/code> function. You can pass all the properties that a FusionCharts constructor accepts, as parameters to this function.\r\n\r\nThe syntax for the <code>configureLink()<\/code> is:\r\n<pre class=\"lang:javascript\">configureLink(objConfiguration: Object, level:Number)<\/pre>\r\nAs two separate parameters, the first parameter is an Object containing all configurations (chart and overlay-Button). The second parameter accepts a number which denotes the level being configured. The first drill-down level is 0 (zero).\r\n\r\nBy default, the child charts have the same type of chart as the parent. We can configure them to use different chart types.\r\n\r\nLet us see how we can change the child chart we created above to a Pie chart. In <code>LinkedChart_DataURL_Method.aspx<\/code>, write the following JavaScript code after the <code><\/code> tag:\r\n<pre class=\"lang:javascript\">\/\/ <\/pre>\r\nSave the file, navigate to this page, and click on one of the columns again. This is what you should see:\r\n\r\n\r\nYou can also <a href=\"https:\/\/www.fusioncharts.com\/features\/linkedcharts-for-drill-down\" target=\"_blank\" rel=\"noopener noreferrer\">render LinkedCharts in another container, or within a lightbox<\/a>. <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?JavaScript\/API\/Methods.html#constructor\" target=\"_blank\" rel=\"noopener noreferrer\">Read more about such configurations<\/a> in our documentation.\r\n<h2><span class=\"ez-toc-section\" id=\"LinkedCharts_Events\"><\/span>LinkedCharts Events<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nThe FusionCharts XT JavaScript API provides a number of events when LinkedCharts are in action. Each parent chart can listen to the events and can add more functionality to the implementation. The events are as follows:\r\n<ul>\r\n\t<li><em>BeforeLinkedItemOpen<\/em>: Fires before a child chart is created<\/li>\r\n\t<li><em>LinkedItemOpened<\/em>: Fires after a child chart is created<\/li>\r\n\t<li><em>BeforeLinkItemClose<\/em>: Fires before a child chart is closed<\/li>\r\n\t<li><em>LinkedItemClosed<\/em>: Fires after a child chart is closed<\/li>\r\n<\/ul>\r\nRead more about <a href=\"https:\/\/docs.fusioncharts.com\/charts\/contents\/?JavaScript\/API\/Events.html\" target=\"_blank\" rel=\"noopener noreferrer\">Events in FusionCharts XT JavaScript API<\/a>.\r\n<h2><span class=\"ez-toc-section\" id=\"Download_sample_project\"><\/span>Download sample project<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Concluding_the_series\"><\/span>Concluding the series<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nIn this series, we&#8217;ve covered a lot about creating interactive JavaScript charts from the ASP.NET (C#) environment. Here is a recap of all the articles in this series:\r\n<ul>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/javascript-charts-with-asp-net-c-using-fusioncharts-xt-part-1\/\">Part 1 &#8211; Create JavaScript charts in ASP.NET (C#)<\/a><\/li>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/javascript-charts-using-sql-server-data-with-fusioncharts-xt-part-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Part 2 &#8211; Plot JavaScript charts using SQL Server data<\/a><\/li>\r\n\t<li><a href=\"https:\/\/fusioncharts.com\/blog\/drill-down-javascript-charts-in-asp-netc-with-fusioncharts-xt\/\">Part 3 &#8211; Create Drill-Down charts in ASP.NET(C#)<\/a><\/li>\r\n\t<li><a href=\"#\">Part 4 &#8211; Create LinkedCharts in ASP.NET(C#)<\/a><\/li>\r\n<\/ul>\r\nLet us know in the comments how you liked this series. We\u2019re putting out more interesting content for all you developers. Stay tuned..","protected":false},"excerpt":{"rendered":"<p>In the last part of FusionCharts XT with ASP.NET series, we will create LinkedCharts using MS SQL Server data and C#. LinkedCharts is a pioneering concept by FusionCharts, which allows you to create unlimited levels of drill-down using a single data source. LinkedCharts is most useful when the user requires to go from a summarized [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[36,62,120,123,211,232],"coauthors":[715],"class_list":["post-2815","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-asp-net","tag-c","tag-dotnet","tag-drill-down","tag-javascript","tag-linkedcharts"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4<\/title>\n<meta name=\"description\" content=\"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4\" \/>\n<meta property=\"og:description\" content=\"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\" \/>\n<meta property=\"og:site_name\" content=\"FusionBrew - The FusionCharts Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-04-18T12:10:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T09:11:11+00:00\" \/>\n<meta name=\"author\" content=\"rishi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"rishi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\/\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"Article\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"rishi\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a\"\n\t            },\n\t            \"headline\": \"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4\",\n\t            \"datePublished\": \"2012-04-18T12:10:00+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:11:11+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\"\n\t            },\n\t            \"wordCount\": 1195,\n\t            \"commentCount\": 4,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"keywords\": [\n\t                \"asp.net\",\n\t                \"c#\",\n\t                \"dotnet\",\n\t                \"drill down\",\n\t                \"javascript\",\n\t                \"linkedcharts\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Tutorials\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\",\n\t            \"name\": \"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\"\n\t            },\n\t            \"datePublished\": \"2012-04-18T12:10:00+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:11:11+00:00\",\n\t            \"description\": \"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.\",\n\t            \"breadcrumb\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#breadcrumb\"\n\t            },\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"BreadcrumbList\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#breadcrumb\",\n\t            \"itemListElement\": [\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 1,\n\t                    \"name\": \"Home\",\n\t                    \"item\": \"https:\/\/www.fusioncharts.com\/blog\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 2,\n\t                    \"name\": \"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"name\": \"FusionBrew - The FusionCharts Blog\",\n\t            \"description\": \"Get tips and tricks on how to build effective Data Visualisation using FusionCharts\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\",\n\t            \"name\": \"FusionCharts\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\",\n\t                \"url\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"width\": 1,\n\t                \"height\": 1,\n\t                \"caption\": \"FusionCharts\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\"\n\t            }\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a\",\n\t            \"name\": \"rishi\",\n\t            \"image\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/328482cd2c44c22cbfaf38e6113a8a24\",\n\t                \"url\": \"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g\",\n\t                \"contentUrl\": \"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g\",\n\t                \"caption\": \"rishi\"\n\t            },\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/author\/rishi\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4","description":"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/","og_locale":"en_US","og_type":"article","og_title":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4","og_description":"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.","og_url":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/","og_site_name":"FusionBrew - The FusionCharts Blog","article_published_time":"2012-04-18T12:10:00+00:00","article_modified_time":"2026-01-20T09:11:11+00:00","author":"rishi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"rishi","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#article","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/"},"author":{"name":"rishi","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a"},"headline":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4","datePublished":"2012-04-18T12:10:00+00:00","dateModified":"2026-01-20T09:11:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/"},"wordCount":1195,"commentCount":4,"publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"keywords":["asp.net","c#","dotnet","drill down","javascript","linkedcharts"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/","url":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/","name":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#website"},"datePublished":"2012-04-18T12:10:00+00:00","dateModified":"2026-01-20T09:11:11+00:00","description":"Implement linked charts in ASP.NET C#. Use FusionCharts XT to elevate your 2026 data visualization capabilities. Build hierarchical data interfaces today.","breadcrumb":{"@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fusioncharts.com\/blog\/javascript-linkedcharts-in-asp-net-c-with-fusioncharts-xt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fusioncharts.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript LinkedCharts in ASP.NET (C#) with FusionCharts XT: Part 4"}]},{"@type":"WebSite","@id":"https:\/\/www.fusioncharts.com\/blog\/#website","url":"https:\/\/www.fusioncharts.com\/blog\/","name":"FusionBrew - The FusionCharts Blog","description":"Get tips and tricks on how to build effective Data Visualisation using FusionCharts","publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fusioncharts.com\/blog\/#organization","name":"FusionCharts","url":"https:\/\/www.fusioncharts.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/","url":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","contentUrl":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","width":1,"height":1,"caption":"FusionCharts"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a","name":"rishi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/328482cd2c44c22cbfaf38e6113a8a24","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g","caption":"rishi"},"url":"https:\/\/www.fusioncharts.com\/blog\/author\/rishi\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/2815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/comments?post=2815"}],"version-history":[{"count":0,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/2815\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/media?parent=2815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/categories?post=2815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/tags?post=2815"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/coauthors?post=2815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}