以前にハイチャートを使用してデータベースからデータを取得しましたが、更新パネルにあったため、データが表示されませんでした。
<input class="test" name="ga" type="radio" value="a"> name</input>
<input class="test" name="ga" type="radio" value="b"> last</input>
<input class="test" name="ga" type="radio" value="c"> first</input>
このラジオを使用して、データが機能していました.vb.netのバックコードからjavascriptを呼び出したので、隠しフィールドを作成し、データセットを配列に取得して、そこからJsonを使用してそれを非表示の値をチャートに表示しました。ただし、ラジオボタンを使用してチャットを実装する必要があります。次のコードはラジオボタンで、同じ概念です...
<asp:RadioButtonList RepeatDirection="Horizontal" CssClass="radioList test"
ID="RadioButtonList1" AutoPostBack="true" runat="server"
RepeatLayout="Flow" name="ga" type="radio">
<asp:ListItem Selected="True" Value="a">name</asp:ListItem>
<asp:ListItem Value="a">first</asp:ListItem>
<asp:ListItem Value="a">last</asp:ListItem>
</asp:RadioButtonList>
このコードを使用すると、データがわかりません。更新すると、サーバーからデータが取得されません。私のJavaScriptコードは次のとおりです。
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
}
});
$(".test").change(function() {
var value = this.getAttribute("value");
while (chart.series.length > 0) {
chart.series[0].remove(true);
}
if (value == 'a') {
chart.xAxis[0].update({categories: ['Jan', 'Feb', 'Mar']});
chart.yAxis[0].setTitle({ text: "name" });
chart.addSeries({
name: 'Rainfall11',
type: 'column',
data:array(comes from vb.net)
});
chart.addSeries({
name: 'Rainfall2',
type: 'column',
data: array2 (comes from vb.net)
});
chart.addSeries({
name: 'Rainfall3',
type: 'column',
color: '#FFA500',
data: array3 (comes from vb.net)
});
} else if (value == 'b') {
chart.yAxis[0].setTitle({ text: "first" });
} else if (value == 'c') {
chart.addSeries({
name: 'Rainfall5',
type: 'column',
data:array5
});
chart.addSeries({
name: 'Rainfall6',
type: 'column',
data:array6
});
} else {
alert("Error!");
}
});});
問題は、サーバーからデータを取得できないことです。ページを更新してもデータが読み込まれず、javascript でのみ呼び出されるためです。これをグーグルで検索し、更新パネルにいることに関係があると感じています。 、 redraw メソッドを使用するか、 RegisterClientScriptBlock を使用します。
これは、RegisterClientScriptBlock について、msdn から取得したものです。
Dim script As String
script = _
"function ToggleItem(id)" & _
" {" & _
" var elem = $get('div'+id);" & _
" if (elem)" & _
" {" & _
" if (elem.style.display != 'block') " & _
" {" & _
" elem.style.display = 'block';" & _
" elem.style.visibility = 'visible';" & _
" } " & _
" else" & _
" {" & _
" elem.style.display = 'none';" & _
" elem.style.visibility = 'hidden';" & _
" }" & _
" }" & _
" }"
ScriptManager.RegisterClientScriptBlock( _
Me, _
GetType(Page), _
"ToggleScript", _
script, _
True)
私のjavascriptコードはそこに入っていますか?