Carl CP

Carl CP

  • NA
  • 3
  • 5.3k

Google Gauge chart in update panel not getting generated

Apr 17 2013 2:12 AM
I'm trying to generate a gauge chart based on changing MTBF values, However when I run the webapplication, I don't see any chart, just the button. Is my approach in the right direction. Thanks for all your help

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
 
public partial class WebForm3 : System.Web.UI.Page
 
{

 
protected void Page_Load(object sender, EventArgs e)
 
{

 
}

 
protected void Button1_Click(object sender, EventArgs e)
 
{

 using (Test_Manager_DatabaseEntities entities = new Test_Manager_DatabaseEntities())
 
{
 
int TestExecID = Convert.ToInt32(Request.QueryString["ExecutionID"]);
 
var execution = entities.TestExecutionDetails.Where(p => p.TestExecutionID == TestExecID).Select(p => p).OrderBy(p => p.StartTime).ToArray();
 
var failures = entities.TestExecutionDetails.Select(p => p.Result != "Pass  ").Count();
 
var count = entities.TestExecutionDetails.Count();
 
var uptime = entities.TestExecutionDetails.Where(p => p.Result == "Pass  ").Select(p => p);
 
TimeSpan elapsedDuration = new TimeSpan(0);
 
foreach (var p in uptime)
 
{

  elapsedDuration
+= (p.EndTime.Value - p.StartTime.Value);

 
}
 
var mtbfdisplay = elapsedDuration.TotalSeconds / failures;


 
string str1 = @"

  data = google.visualization.arrayToDataTable(["
;

 
string str2 = @"['Label', 'Value'],['MTBF'," + mtbfdisplay + @"],]);";

 
string str3 = @"var options = {
  width: 400, height: 120, redFrom: 90, redTo: 100, yellowFrom: 75, yellowTo: 90, minorTicks: 5
  };


  var chart = new google.visualization.gauge(document.getelementbyid('chart-success'));
  drawchart(data, options);"
;

 
string postData = str1 + str2 + str3;

 
Console.WriteLine(postData);


 
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "test", postData, true);

 
}


 
}
 
}
}

.aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApplication1.WebForm3" %>
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"> <title></title></head>
<body> <form id="form1" runat="server">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Label ID="Label2" runat="server" Text="1"></asp:Label>
<br />
<div> <asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value="1" />
<br />
<asp:Label ID="Label1" runat="server" Text="1"></asp:Label>
<br /> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<div id="chart-success"></div>
</ContentTemplate>
</asp:UpdatePanel>
</div> </form></body></html>