2012-04-17 26 views
2

我在更新面板中放入以下控件,以便整個頁面不刷新。點擊按鈕時,頁面不刷新,但當我嘗試更改單選按鈕時,頁面刷新並導致完整回發。這裏是我的代碼:更新面板中的RadioButton導致回發

<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager" runat="Server" EnablePartialRendering="true" /> 
<asp:UpdatePanel ID="updatePanelToggle" runat="server"> 
    <ContentTemplate> 
     <asp:RadioButton ID="radioOn" AutoPostBack="true" runat="server" GroupName="toggle" Text="On" OnCheckedChanged="radioOn_CheckedChanged" /> 
     <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle" Text="Off" OnCheckedChanged="radioOff_CheckedChanged" /> 
     <asp:Button ID="testButton" runat="server" OnClick="mybutton_click"/> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+1

在你的'UpdatePanel'中設置'UpdateMode ='Always'是否有所作爲? – jadarnel27 2012-04-17 14:13:49

+1

您的單選按鈕中是否需要AutoPostBack =「true」?你能把它設置爲false嗎? – Krishna 2012-04-17 14:13:51

+0

@ jadarnel27我嘗試了'UpdateMode =「總是」'和'UpdateMode =「有條件的」',他們都沒有工作 – user1135357 2012-04-17 14:14:59

回答

10

根據您的要求,您可以通過添加觸發器來控制後貼。當您只想更新更新面板內容時,請使用AsyncPostBackTrigger。如果您需要完整發布後使用PostBackTrigger

<asp:UpdatePanel ID="updatePanelToggle" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:RadioButton ID="radioOn" AutoPostBack="true" runat="server" GroupName="toggle" Text="On" OnCheckedChanged="radioOn_CheckedChanged" /> 
     <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle" Text="Off" OnCheckedChanged="radioOff_CheckedChanged" /> 
     <asp:Button ID="testButton" runat="server" OnClick="mybutton_click"/> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="radioOn" /> 
     <asp:AsyncPostBackTrigger ControlID="radioOff" /> 
     <asp:PostBackTrigger ControlID="testButton" /> 
    </Triggers> 
</asp:UpdatePanel>