【问题标题】:Loading Fusion Charts Upon Clicking Button in ASP.Net在 ASP.Net 中单击按钮时加载融合图表
【发布时间】:2013-01-06 05:19:10
【问题描述】:

我试图在特定区域显示我的融合图表,特别是在单击按钮时我在我的 aspx 文件中调用 CreateChart 函数的地方。我现在拥有的方式是图表在页面加载后立即加载,但我想看到的是图表仅在单击按钮时加载。我尝试了不同的方法,但由于我对融合图表不太熟悉,因此无法做到正确。谢谢 这是我的 ASPX 文件:

<table class="style1">

<td class="style8">
                <asp:Button ID="btnClick" runat="server" Height="29px" Text="Button" 
                    Width="158px" onclick="btnClick_Click" />
            </td>

 <td class="style4" colspan="2">
               <% =CreateChart() %> </td>
        </tr>
    </table>

这是我的代码:

public string CreateChart()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
        string sqlStatement = "select   Status1, Count(Status1) as TotalCount from  MyTable where Closing_Date =  '" + txtStartClosingDate.Text + "' and Closing_Date <= '" + txtEndClosingDate.Text + "' and Status1 is not null group by  Status1";
        SqlCommand cmd = new SqlCommand(sqlStatement, con);
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        string strXML;
        strXML = "<graph labelDisplay='auto' useEllipsesWhenOverflow='1' decimals='2' decimalPrecision='0' showValues='1' enablesmartlabels='0' showlabels='0'  legendAllowDrag='1' numberSuffix=' Days' showLegend='1' pieSliceDepth='45' formatNumberScale='0'>";
        while (reader.Read())
        {
            strXML += "<set name='" + reader["Category"].ToString() + "' value='" + reader["AvgNumbers"].ToString() + "' />";
        }
        strXML += "</graph>";
        return FusionCharts.RenderChart("../FusionCharts/Pie2D.swf", "ChartID", strXML, "FactorySum", "450", "450", false, false);

    }

【问题讨论】:

    标签: asp.net fusioncharts


    【解决方案1】:

    试试这个

    而不是

    <td class="style4" colspan="2">
               <% =CreateChart() %> </td>
    

    使用

    <td class="style4" colspan="2">
               <asp:Literal mode="PassThrough" runat="server" ID="literalPlaceHolder"/> </td>
    

    在按钮的事件处理程序中

    public void btnClick_Click(...)
    {
           literalPlaceHolder.Text = CreateChart();
    }
    

    【讨论】:

    • 感谢 Bala 的快速响应,但当我键入它时它不喜欢“asp:LiteralControl”;它只向我显示“文字”。同样在后面的代码中,我收到此错误:“literalPlaceHolder 不存在”。我不确定我还缺少什么。谢谢
    • @user1858332 抱歉.. 我做了一些编辑来修复它.. 首先,LiteralControl 应该是 Literal,如您所见; name= 也应该是 ID=
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2013-01-28
    相关资源
    最近更新 更多