Highchart随回发消失,给出错误JS

时间:2014-06-24 21:58:20

标签: javascript jquery asp.net highcharts

我真的想知道我的代码发生了什么。它抛出了这样的信息:“错误和微软JScript的关系:Se esperaba un objeto”。

这是显示错误消息的代码:


var chartctl00_PlaceHolder_separador19separador739separador58_C_ctl00_hcbardistribucion;

$(document).ready(function() {
    chartctl00_PlaceHolder_separador19separador739separador58_C_ctl00_hcbardistribucion = new Highcharts.Chart({
    chart: {"renderTo":"ctl00_PlaceHolder_separador19separador739separador58_C_ctl00_hcbardistribucion","defaultSeriesType":"bar","plotBorderColor":"#FFFFFF"},
    labels: {},

    credits: { enabled: false },
    plotOptions: { series: {} },
    title: {"text":""},

    legend: {"enabled":true},
    exporting: {"enabled":false},
    xAxis: [{"categories":["Aktien - Deutschland","Aktien - USA","Aktien - Europa","Alternative Investments - Edelmetalle","Geldmarkt - Europa"],"labels":{"enabled":true,"style":{"fontSize":"9px","fontFamily":"Verdana"},"ownformat":false},"title":{"text":""}}],
    yAxis: [{"gridLineWidth":0,"labels":{"enabled":false,"style":{"fontSize":"9px","fontFamily":"Verdana"},"ownformat":false},"min":0.0,"title":{"text":""}}],
    tooltip: {"ownformat":false,"formatter":function(event){ var tmp = '<b>'+ this.series.name + ((typeof(this.point.name) != 'undefined') ? '->'  +this.point.name : '' )+ ' </b><br/>'+ this.x +': '+ this.y; if(typeof(tmp) == 'function'){return tmp(this);}else{ return tmp;} }} ,
    series: [{"type":"bar","data":[{name: 'Aktien - Deutschland' , color: '#55AAEF', y: 0.430303676221025},{name: 'Aktien - USA' , color: '#55AAEF', y: 0.228118740374232},{name: 'Aktien - Europa' , color: '#55AAEF', y: 0.256106210967529},{name: 'Alternative Investments - Edelmetalle' , color: '#55AAEF', y: 0.0636334147801632},{name: 'Geldmarkt - Europa' , color: '#55AAEF', y: 0.0218379576570506}],"showInLegend":false}]
    });



});

当页面执行回发时会发生。

非常感谢你的帮助!

这是我在ascx中的代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="DistribucionActivos.ascx.cs"
    Inherits="Controls_Cliente_DistribucionActivos" EnableViewState="true" %>
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
    <td>

            <asp:Label ID="lblSinDatos" runat="server" Visible="false" Text="<%$ Resources:Common, k001594 %>"/>
            <highchart:BarChart ID="hcbardistribucion" Width="440" Height="50" runat="server"/>                                        

    </td>
</tr>
</table>

这是我的.cs:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using QTFramework.Grafico;
using WMPlusExcepciones;
using BusinessDisposer.BL.GestorCliente;
using BusinessObjects.Cliente;
using BusinessObjects;
using BusinessObjects.System;
using System.Collections.Generic;
using Telerik.Web.UI;
using System.Collections.ObjectModel;
using BusinessObjects_CRM;
using BusinessDisposer_CRM.BL;
using BusinessObjects.WmPlus;
using BusinessDisposer.BL;

using Highchart.Core;
using Highchart.UI;
using Highchart.Core.PlotOptions;
using Highchart.Core.Appearance;
using Highchart.Core.HtmlLabel;
using Highchart.Core.Events;
using Highchart.Core.Data.Chart;

///<summary>
/// 
/// 
///</summary>
public partial class Controls_Cliente_DistribucionActivos : BaseUserControl
{
    Cartera _carteraActual = new Cartera();

    protected void Page_Load(object sender, EventArgs e)
    {
        //if (!IsPostBack)
        TablaPesos();
    }

    private void TablaPesos()
    {     
        Seguridad.FormsPrincipal principal = (Seguridad.FormsPrincipal)HttpContext.Current.User;
        string tieneFuncion22 = string.Empty;

        if (!principal.IsActionEnabled("verElemtAjeno"))
        { tieneFuncion22 = "0"; }
        else
        { tieneFuncion22 = "1"; }

        DatosSesion dataUserTMP = (DatosSesion)Session["SesionWMP"];

        /*Se realiza una comprobación para ver si el cliente está siendo consultado a través del buscador de rut.*/
        /*En tal caso, activar también la función 22 y pasar la jerarquia del centro cúspide.*/
        string jerarquia = dataUserTMP.DatosUsuario.Jerarquia.ToString();
        if (Session["rut"] != null)
        {
            if (Session["rut"].ToString() == Session["ClienteID"].ToString())
            {
                tieneFuncion22 = "1";
                jerarquia = dataUserTMP.DatosUsuario.JerarquiaCuspide.ToString();
            }
        }
        ClienteCRM datosCliente = null;
        List<BusinessObjects.WmPlus.Categoria> ListaCat = new List<Categoria>();
        int carteraId = Session["CarteraID"] !=null ? Convert.ToInt32(Session["CarteraID"].ToString()) : 0;
        if (!carteraId.Equals(0))
        {
            datosCliente = BLClientDetails.ListarDatosIniciales(Convert.ToInt32(Session["ClienteID"].ToString()), _SesionWMP.DatosUsuario.AreaID, carteraId, getShortLanguage());

            _carteraActual = (Session["CarteraWMP"] != null) ? (Cartera)Session["CarteraWMP"] : BLGestorCarteras.RetornaCartera(datosCliente.CodigoCartera, dataUserTMP.DatosUsuario.AreaID);

             ListaCat = BusinessDisposer.BL.BLGestorCarteras.ListaCategorias(datosCliente.CodigoCartera, _carteraActual.FechaInicio, _carteraActual.FechaSaldo, "", dataUserTMP.DatosUsuario.AreaID, "");
        }

        List<DistribucionCategoria> Lista = new List<DistribucionCategoria>();

        if (System.Configuration.ConfigurationManager.AppSettings["EsComdirect"].ToString() != "True")
        {
            Lista = BLCliente.ListarProductosPorCategoria(dataUserTMP.DatosUsuario.AreaID, Convert.ToInt32(Session["ClienteID"].ToString()), dataUserTMP.DatosAreaNegocio.DivisaReferencia, DateTime.Now.AddDays(-1), dataUserTMP.DatosUsuario.Identificador, jerarquia, dataUserTMP.DatosUsuario.Rol, tieneFuncion22);
        }
        else 
        {
            foreach (BusinessObjects.WmPlus.Categoria x in ListaCat)
            {
                Lista.Add(new DistribucionCategoria() { Categoria = x.Nombre, Peso = x.PesoFinal });
            }        
        }

        hcbardistribucion.PlotOptions = null;
        hcbardistribucion.Series.Clear();
        hcbardistribucion.YAxis.Clear();
        hcbardistribucion.XAxis.Clear();
        hcbardistribucion.Height = 0;

        if (Lista.Count > 0)
            hcbardistribucion.Visible = true;
        else
        {
            lblSinDatos.Visible = true;
            hcbardistribucion.Visible = false;
            return;
        }

        //INICIO Pinta los pesos en Highchart
        //Setea propiedades basicas del highchart para las barras

        hcbardistribucion.Appearance.renderTo = "container";
        hcbardistribucion.Appearance.defaultSeriesType = "bar";
        hcbardistribucion.Appearance.plotBorderColor = "#FFFFFF";


        //Crea las axis
        object[] categorias = new object[Lista.Count];
        List<DataBar> ba = new List<DataBar>();
        SerieCollection series = new SerieCollection();

        //Completa los datos de las categorias para que sean configurables en el eje Y
        //Completa las series 

        ba = new List<DataBar>();

        for (int i = 0; i < Lista.Count; i++)
        {
            categorias[i] = Lista[i].Categoria;
            ba.Add(new DataBar() { color = "#55AAEF", name = Lista[i].Categoria, y = Lista[i].Peso });
        }

        //Asigna los valores a la serie
        series.Add(new Serie() { type = RenderType.bar, databar = ba, showInLegend = false });

        hcbardistribucion.XAxis.Add(new XAxisItem() { categories = categorias, labels = new Labels() { style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "9px" } } });
        hcbardistribucion.YAxis.Add(new YAxisItem() { min = 0,  gridLineWidth = 0, labels = new Labels() { enabled = false, style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "9px" } } });


        //hcbardistribucion.XAxis.Add(new XAxisItem() { categories = categorias, gridLineWidth = 0, lineWidth = 0, minorGridLineWidth = 0, tickColor = "#FFFFFF", labels = new Labels() { style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "9px" } } });
        //hcbardistribucion.YAxis.Add(new YAxisItem() { min = 0, max = 2, title = new Title(""), gridLineWidth = 0, lineWidth = 0, minorGridLineWidth = 0, labels = new Labels() { enabled = false, style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "9px" } } });



        //Calcula el tamaño de alto del cuadro
        hcbardistribucion.Height = new Unit(hcbardistribucion.Height.Value + ((ba.Count == 1 ? 3 : ba.Count) - 1) * 35);
        //hcbardistribucion.Width = new Unit(440);

        //Formateado del texto---
        hcbardistribucion.Tooltip = new ToolTip()
        {
            style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "8px" },
            formatter = "this.x + ' ' + Highcharts.numberFormat(this.y*100, 2, '" + dataUserTMP.DatosAreaNegocio.SeparadorDecimal + "','" + dataUserTMP.DatosAreaNegocio.SeparadorGrupal + "') +' %'"
        };


        ////Configuracion del plano
        ////color = "#55AAEF"
        hcbardistribucion.PlotOptions = new PlotOptionsBar()
        {

            borderColor = "#FFFFFF",
            dataLabels = new DataLabels() { enabled = true, formatter = "Highcharts.numberFormat(this.y*100, 0, '" + dataUserTMP.DatosAreaNegocio.SeparadorDecimal + "','" + dataUserTMP.DatosAreaNegocio.SeparadorGrupal + "') +' %'", color = "#999999", style = new Highchart.Core.Appearance.CSSObject { fontFamily = "Verdana", fontSize = "9px" } },
            shadow = false
        };

        hcbardistribucion.DataSource = series;
        hcbardistribucion.DataBind();
        //FIN Pinta los pesos en Highchart

    }   
}

0 个答案:

没有答案