2

Web サービス経由で単純なグラフを読み込む際に問題が発生しています...

ユーザー コントロールを html として読み込み、Web サービスを介してページに送り返して、jquery ui ポップアップ ダイアログにグラフを表示します。

[WebMethod]
        public string GetProfileForm(string formType)
        {
            Page page = new FormlessPage();
            PersonalDetails ctl = (PersonalDetails)page.LoadControl("/Toolbox/Controls/PersonalDetails.ascx");
            page.Controls.Add(ctl);
            using (StringWriter writer = new StringWriter())
            {
                HttpContext.Current.Server.Execute(page, writer, false);
                return writer.ToString();
            }
        }

JavaScript がユーザー コントロール内にあるか、ユーザー コントロールが読み込まれた後に作成されたかにかかわらず、グラフが読み込まれないだけでなく、ページ全体がハングします。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PersonalDetails.ascx.cs" Inherits="ToolBox.Controls.PersonalDetails" %>

<div id="gchart_div"></div>

<script type="text/javascript">
    google.load('visualization', '1.0', { 'packages': ['corechart'] });
    google.setOnLoadCallback(drawChart);
    function drawChart() {

        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows([
          ['Mushrooms', 3],
          ['Onions', 1],
          ['Olives', 1],
          ['Zucchini', 1],
          ['Pepperoni', 2]
        ]);

        // Set chart options
        var options = { 'title': 'How Much Pizza I Ate Last Night',
            'width': 400,
            'height': 300
        };

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('gchart_div'));
        chart.draw(data, options);
    }
</script>

私の Site.Master ページには API 呼び出しがあります:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

他のページ (つまり、Web サービスを介してコントロールとしてロードされていないページ) で JavaScript を実行すると、正常に動作します。

これはGoogleチャートの制限ですか?または私は何か間違ったことをしていますか?

ポップアップを収容するページにJavaScriptを移動しようとしましたが、これは同じ効果があります。

前もって感謝します... ダン

4

0 に答える 0