【问题标题】:All anchors trigger postback所有锚点触发回发
【发布时间】:2014-07-01 18:17:39
【问题描述】:

我有一个支持 ASP.NET / AJAX 的网站,上面有一些 jQuery UI 代码。

我遇到了一个问题,即页面上的所有锚点都会触发回发,即使是我放在页面上的纯 HTML 锚点也是如此。这大大减慢了速度,因为 page_load 触发了两次并且页面加载需要很长时间。

即使做一些简单的事情:

<a href='foo.aspx'>Click me</a>

触发回发。我一直认为纯 HTML 锚应该只是将用户发送到新 URL。还有一些更奇怪的东西......普通链接实际上比此页面上的 asp:LinkBut​​ton 链接慢。 (嗯?)

我没有编写任何自定义代码来附加到页面上的所有锚点,尽管我确实有一个附加到特定类的小 jQuery。

更新

我一直在修改代码 - 发现它来自页面上的 ToolKitScriptManager!当我将其注释掉时,常规链接可以正常工作!

当我像这样定义 ToolkitScriptManager 时,它会触发页面上每个超链接的回发,这不是我想要的:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="true" ScriptMode="Release">
</asp:ToolkitScriptManager>

但是,当我这样定义它时,常规超链接可以正常工作!

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" ScriptMode="Release">
    </asp:ToolkitScriptManager>

【问题讨论】:

  • 当您检查元素时,此类标签的实际 HTML 标记是什么?
  • 所有浏览器都会出现这种情况吗?
  • 已在 IE9(此处为官方浏览器)和最新版本的 FireFox 中确认。
  • 启用脚本组合后,您是否在浏览器控制台中看到错误?

标签: jquery asp.net ajax jquery-ui


【解决方案1】:

通过删除 ToolkitScriptManager 上的额外属性来纠正问题。现在,常规超链接可以正常工作,而不会触发回发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多