Asp.net 是否在不重新加载页面的情况下刷新Shield UI ASP图表?
我正在使用网页aspx上的Shield UI ASP.NET图表。我需要刷新图表并根据下拉列表中的选定项显示数据。但是,当按下按钮时,页面会重新加载,我需要其他图表与它们选择的系列保持一致。这是我的密码:Asp.net 是否在不重新加载页面的情况下刷新Shield UI ASP图表?,asp.net,shieldui,Asp.net,Shieldui,我正在使用网页aspx上的Shield UI ASP.NET图表。我需要刷新图表并根据下拉列表中的选定项显示数据。但是,当按下按钮时,页面会重新加载,我需要其他图表与它们选择的系列保持一致。这是我的密码: protected void Button1_Click(object sender, EventArgs e) { if (DropDownList1.SelectedIndex == 0) { ShieldChart3.DataSou
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex == 0) {
ShieldChart3.DataSource = new List<int>() { 12, 3, 4, 2, 12, 3, 4, 17, 22, 34, 54, 67 };
}
if (DropDownList1.SelectedIndex == 1)
{
ShieldChart3.DataSource = new List<int>() { 3, 9, 12, 14, 22, 32, 45, 12, 67, 45, 55, 7 };
}
if (DropDownList1.SelectedIndex == 2)
{
ShieldChart3.DataSource = new List<int>() { 23, 19, 11, 134, 242, 352, 435, 22, 637, 445, 555, 57 };
}
if (DropDownList1.SelectedIndex == 3)
{
ShieldChart3.DataSource = new List<int>() { 13, 19, 112, 114, 212, 332, 435, 132, 67, 45, 55, 7 };
}
}
如何在重新加载页面时仅刷新其中一个图表?您可以将图表控件置于控件内部,并使此按钮更新面板的触发器。这样,当您单击它时,页面将只执行部分回发,并且只有UpdatePanel中的图表会在单击按钮时被刷新。您需要一个按钮,但它的代码不会从C代码模块中处理,而是在脚本中处理。为此,您需要声明一个JS函数。参见代码:
function PS(qtr){
var SD = SalesData[qtr].values;
detailChartElement = $('#' + "<%=ShieldChart3.ClientID%>"),
detailChart = detailChartElement.swidget(),
initialOptions = detailChart.initialOptions,
headerText = ' Your sales data... ';
detailChart.destroy();
detailChartElement.shieldChart($.extend(initialOptions, {
primaryHeader: {
text: headerText
},
dataSeries: [{
seriesType: 'line',
collectionAlias: 'Sales data...',
data: SD
}]
}));
}
然后,在按钮的单击事件中,您应该为函数放置一个clal。或者更简单地说,您可以使用select将值传递给函数:
<select id="Quarter" onChange="PS(this.value)">
<option value="0">Option 1</option>
<option value="1">Option 2</option>
<option value="2">Option 3</option>
<option value="3">Option 4</option>
</select>