Код HTML:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<asp:UpdatePanel id="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<table style="height: 40px">
<tr>
<td>
<asp:TextBox ID="t1" runat="server" ></asp:TextBox>
<asp:DropDownList ID="dd1" runat="server" Height="24px"
onselectedindexchanged="dd1_SelectedIndexChanged" Width="116px"
AutoPostBack="true"></asp:DropDownList>
<asp:DropDownList ID="DropDownList1" runat="server" Height="41px"
onselectedindexchanged="DropDownList1_SelectedIndexChanged" Width="97px"
AutoPostBack="true" ></asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server"
onselectedindexchanged="DropDownList2_SelectedIndexChanged" Width="334px"
AutoPostBack="true" Height="59px"></asp:DropDownList>
<asp:Button ID="btn" runat="server" Text="display" onclick="btn_Click" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</div>
<div id="PieChartExample">
<table>
<tr style='vertical-align: top'>
<td>
<div id="CategoryPickerContainer"></div>
<div id="SliderContainer"></div>
</td>
</tr>
<tr>
<td >
<div style="float: left;" id="PieChartContainer"></div>
<div style="float: left;" id="TableContainer"></div>
</td>
</tr>
<tr>
<td>
<div id="table"></div>
</td>
</tr>
</table>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn" />
</Triggers>
</asp:UpdatePanel>
</form>
Его мой для падения и диаграммы. Все выпадающие окна AutoPostBack являются "истинными", поэтому при каждой смене значения моя диаграмма обновится. Я не хочу обновлять.my диаграмма должна обновляться только после нажатия кнопки btn. Может ли кто-нибудь помочь мне достичь.
В Page_Load
поместите код загрузки диаграммы в блок if(!IsPostBack)
. И используйте UpdatePanel
для Partial PostBack
. Таким образом, вся страница не будет обновлена.
подобно
<form id="form1" runat="server">
<asp:UpdatePanel id="upForm" runat="server">
<ContentTemplate>
<!-- Your HTML -->
</ContentTemplate>
</asp:UpdatePanel>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn" />
</Triggers>
</form>
Установите AutoPostBack
в False
.
В качестве альтернативы.
Вы можете сохранить AutoPostBack как true, если используете UpdatePanels.
См. Информацию об использовании UpdatePanels. http://msdn.microsoft.com/en-us/library/bb399001.aspx