【问题标题】:Child Control is not rendering子控件未呈现
【发布时间】:2012-12-02 22:19:34
【问题描述】:

我创建了一个自定义复合控件,其中包含来自该项目https://googlevisnet.codeplex.com/ 的子控件(它是用于谷歌图表的.NET 库,我检查了多次)。我正在使用 VisualStudio 2012 和一个简单的 C# 类库。

我像这样覆盖 CreateChildControl:

protected override void CreateChildControls()
    {
        Controls.Clear();

        //create the pie control
        GenderChart = new GVPieChart();
        GenderChart.Width = PieChartDimentions[0];
        GenderChart.Height = PieChartDimentions[1];
        GenderChart.ChartData(GenderDistributionTable);

        //create the bar control
        AgeChart = new GVColumnChart();
        AgeChart.Width = BarChartDimentions[0];
        AgeChart.Height = BarChartDimentions[1];
        AgeChart.ChartData(AgeDistributionTable);

        this.Controls.Add(GenderChart);
        this.Controls.Add(AgeChart);
    }

并像这样覆盖渲染:

AgeChart.RenderControl(output);

当我在页面上运行代码时,一切似乎都正常,并且我可以判断控件正确地呈现了该区域(我可以看到具有特定大小的 div),但是我看不到图表本身。

奇怪的是,它在那里工作了一会儿,然后又停止了,而我没有对代码进行任何更改。

有什么想法吗?

【问题讨论】:

  • Winforms?网络表格? WPF?银光?还有什么?
  • 大卫,在您的问题中添加标签以表明您的问题所依赖的技术。
  • 感谢两位,我尝试添加诸如 Server Controls Composite Control、C# 之类的标签,但大多数情况下它并没有让我这样做。我再试一次。

标签: c# asp.net custom-server-controls


【解决方案1】:

显然,解决问题的方法就像为控件添加 ID 一样愚蠢。 受保护的覆盖无效 CreateChildControls() { Controls.Clear();

        //create the pie control
        GenderChart = new GVPieChart();
        GenderChart.ID = "genderChar";
        GenderChart.Width = PieChartDimentions[0];
        GenderChart.Height = PieChartDimentions[1];
        GenderChart.ChartData(GenderDistributionTable);

        ////create the bar control
        AgeChart = new GVColumnChart();
        AgeChart.ID = "ageChart";
        AgeChart.Width = BarChartDimentions[0];
        AgeChart.Height = BarChartDimentions[1];
        AgeChart.ChartData(AgeDistributionTable);

        this.Controls.Add(GenderChart);
        this.Controls.Add(AgeChart);
    }

我不知道我是怎么忘记了像 ID 这样重要的东西。我们的头脑在某些时候停止思考简单。

干杯:)

【讨论】:

  • 老兄,这不是你的错......如果一个框架强迫你不要忘记做某些不直观的事情,那很糟糕
猜你喜欢
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 2011-11-24
  • 2013-10-31
  • 2014-05-04
  • 2017-11-04
  • 2023-03-25
相关资源
最近更新 更多