当前位置: 首页 > 面试题库 >

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

章高朗
2023-03-14
问题内容

我在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
}

没什么不同…

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


问题答案:

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

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

阅读微软文章

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



 类似资料:
  • 问题内容: 在我的页面中,我在转发器内部有一个LinkBut​​ton,但是UpdatePanel找不到AsyncPostBackTrigger的LinkBut​​ton。 这是mycode.aspx 这是mycode.aspx.cs 我尝试了很多方法,但是页面仍然刷新。你有什么建议吗? 问题答案: 在Repeater控件的ItemCreated事件内部,将按钮注册到ScriptManager。

  • 问题内容: 我遇到了一个似乎很著名的问题:我的updatepanel触发了完整的回发而不是异步的回发。正常的解决方案是给您动态添加的所有控件一个ID,这已经完成了,但是我仍然得到完整的回发而不是异步回发… 这是代码: HTML: 有趣的是背后的C#代码(方法PlayerItems_ItemDataBound),如下所示: 因此,我实际上向菜单添加了AsyncPostBackTrigger,因此应该

  • 问题内容: 我有一个更新面板,在更新面板中有fileupload控件和按钮控件,单击按钮时,我需要在updatepanel的fileupload控件中上传的文件。 确切的情况是,我在页面上有8个选项卡,每个选项卡包含太多信息,其中一个选项卡是附件,当用户单击显示的“添加新附件模态弹出窗口”时,模态在Updatepanel中包含detailsview,在detailsview中我有文件上传控件,当用

  • 从 根据笔记本电脑是否连接到外部电源,会导致异常行为。 以下场景已经过测试,可以重现: 使用交流电源时暂停,唤醒。结果:正常恢复 电池供电时暂停,唤醒。结果:完全重新启动 使用交流电源时暂停,断开交流电源,唤醒。结果:完全重新启动 使用交流电源时暂停,断开交流电源,重新连接交流电源,唤醒。结果:完全重新启动 使用电池电源时暂停,连接交流电源,唤醒。结果:完全重新启动 编辑1:完全重启不遵循干净的关

  • 问题内容: 我有个问题。 在我的项目中,我已经在一个updatepanel中放置了一个下拉列表。我要做的是从下拉列表中选择一个值,并在会话中使用它。 但是无论我做什么,由于不选中“ Enable AutoPostBack”,它总是给我空值。当我这样做时,它将刷新页面,所以这不是我想要的。 我怎么解决这个问题? 有任何想法吗… 问题答案: 听起来您可能未正确使用UpdatePanel功能。如果您将U

  • 问题内容: 我有一个关闭模式的功能: 但是,我的页面上还有一个更新面板,我需要触发它。 我没有运气尝试。 谢谢 问题是这样的: 我从父母那里叫它,所以我无法获得隐藏的ID。 问题答案: 一种选择是在更新面板中放置一个隐藏按钮 然后在脚本中调用以下内容 单击按钮将导致回发。 您还可以查看Page.GetPostBackEventReference