小编典典

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

ajax

我在UpdatePanel的ListView中有一个LinkBut​​ton。我希望按钮(好吧,其中的任何一个)引起部分回发,但它们却引起整个页面的回发。

<asp:UpdatePanel ID="upOutcomes" UpdateMode="Conditional" runat="server">
  <ContentTemplate>
      <asp:ListView ID="lvTargets" runat="server" onitemdatabound="lvTargets_ItemDataBound">
        <ItemTemplate>
          <asp:LinkButton ID="lnkAddTarget" CssClass="lo" Text='<%# Eval("Title") + " <b>" + Eval("Level") + Eval("SubLevel") + "</b>" %>' runat="server"></asp:LinkButton>
        </ItemTemplate>
      </asp:ListView>
  </ContentTemplate>
</asp:UpdatePanel>

我在stackoverflow上发现了另一条建议添加此内容的帖子:

protected void lvTargets_ItemDataBound(object sender, ListViewItemEventArgs e) {
  var lb = e.Item.FindControl("lnkAddTarget") as LinkButton;
  tsm.RegisterAsyncPostBackControl(lb);  // ToolkitScriptManager
}

没什么不同…

也有一些其他类似的帖子,但是我找不到解决方案!有任何想法吗?


阅读 196

收藏
2020-07-26

共1个答案

小编典典

ASP.NET 4中的ClientIDMode设置使您可以指定ASP.NET如何生成HTML元素的id属性。

在ASP.NET的早期版本(即pre 4)中,默认行为等效于ClientIDMode的AutoID设置。但是,默认设置现在为 Predictable

阅读微软文章

为此,需要使用AutoId,因为脚本管理器希望HTML控件在.NET的早期版本中生成。

2020-07-26