尽管我的链接按钮是通过更新面板触发的,但为什么我的链接按钮会完整回发

Any*_*are 0 c# asp.net ajax updatepanel linkbutton

我有以下情况:

一个link button触发通过.AsyncPostBackTrigger但仍然完整的帖子!


<asp:LinkButton ID="lbtnShowNotes" runat="server" CssClass="blue" OnClick="lbtnShowNotes_Click"> <img src="images/document_notes.png"/>notes</asp:LinkButton>

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Panel ID="pnlNotes" runat="server" Visible="false">
                        <asp:Label ID="lbl_title" runat="server" Text="?????????"></asp:Label>
                        <asp:TextBox ID="txt_Coments" runat="server" Columns="70" Rows="5" TextMode="MultiLine"></asp:TextBox>
                        <asp:LinkButton ID="lbtnOkNotes" runat="server"><img src="images/tick.png" alt=""/></asp:LinkButton>
                        <asp:LinkButton ID="lbtnCancelNotes" runat="server" CausesValidation="False" OnClick="lbtnCancelNotes_Click"><img src="images/tick.png" alt=""/></asp:LinkButton>
                    </asp:Panel>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="lbtnShowNotes" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

小智 5

ClientIDMode更改

ASP.NET 4中的ClientIDMode设置允许您指定ASP.NET如何为HTML元素生成id属性.在以前版本的ASP.NET中,默认行为等同于ClientIDMode的AutoID设置.但是,默认设置现在是可预测的.

如果使用Visual Studio 2010从ASP.NET 2.0或ASP.NET 3.5升级应用程序,该工具会自动向Web.config文件添加一个设置,以保留早期版本的.NET Framework的行为.但是,如果通过将IIS中的应用程序池更改为以.NET Framework 4为目标来升级应用程序,则ASP.NET默认使用新模式.要禁用新的客户端ID模式,请在Web.config文件中添加以下设置:

<pages ClientIDMode="AutoID" />
Run Code Online (Sandbox Code Playgroud)

或者在page指令中添加ClientIDMode ="AutoID".

http://www.asp.net/whitepapers/aspnet4/breaking-changes

UpdatePanel中ListView中的LinkBut​​ton导致完全回发