触发按钮导致fullpostback

时间:2011-08-29 19:19:28

标签: c# asp.net ajax updatepanel

我有一个updatePanel和一个触发它的按钮。 但是,该按钮会导致完全回发而不是部分回发。 这是我的代码:

<asp:Button ID="cEvent" runat="server" Text="&#1510;&#1493;&#1512; &#1497;&#1493;&#1501;" Width="80px" 
                    Height="40px" Font-Size="Medium" onclick="cEvent_Click" CausesValidation="false"/>

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                    <asp:UpdatePanel id = "updatePanel1" runat="server" UpdateMode="Conditional">
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="cEvent" EventName="Click"/>
                        </Triggers>
                        <ContentTemplate>

                            <div id="yesEve" runat="server" visible="false" style="width:95%; float:right; margin-left:5%; padding-top:20px; margin-bottom:20px;">
                                <table id="mytable" cellspacing="0" runat="server">

                                </table>
                            </div>

                            <div id="errorMsg" runat="server" visible="false" style="width:100%; text-align:center; float:right;">
                                <asp:label visible="true" ID="msg1" Font-Size="Medium" runat="server" Font-Bold="true" Text = "היום נמחק בהצלחה"></asp:label>
                            </div>

                            <div id="noEve" style="width:100%; padding-top:20px; float:right; text-align:center; margin-bottom:20px;" runat="server" visible="false">
                                <asp:label visible="true" ID="stamLabel" Font-Size="Medium" runat="server" Font-Bold="true" Text = "לא קיימים ימים פתוחים"></asp:label>
                            </div>

                            <asp:LinkButton ID ="remove" runat="server"></asp:LinkButton>

                        </ContentTemplate>
                    </asp:UpdatePanel>

我真的需要一些帮助...我正在网上搜索几个小时来找到答案。 谢谢,马坦

3 个答案:

答案 0 :(得分:1)

在后面的代码中,您可以尝试添加以下行:

ScriptManager.GetCurrent(Page).RegisterPostBackControl(Button1);   

答案 1 :(得分:1)

您的代码没有任何问题,您与代码(ClientIDs)之间存在冲突,您没有向我们展示或者JavaScript错误导致该页面崩溃。

答案 2 :(得分:0)

以下是如何从microsoft教程页面执行此操作的模板:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <fieldset>
        <legend>UpdatePanel</legend>
        <asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
        </fieldset>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

此处提供更多信息:

microsoft tutorial