如何临时转换ASP.NET Ajax表单以不使用部分页面更新?

时间:2009-06-30 04:29:58

标签: asp.net javascript ajax asp.net-ajax

我需要能够暂时关闭基于ASP.NET Ajax / UpdatePanel的页面的部分页面更新行为。 (原因是为了避免IE阻止因自动回复而产生的下载“自动文件下载”的问题,但我不想分散我原来的问题)

我查看了客户端javascript库,希望在某处找到一个开关。我认为一个解决方案可能涉及使用javascript覆盖作为触发器的控件的'onclick'事件处理程序,然后在表单本身上调用“submit”。

此外,在服务器端ScriptManager控件上使用EnablePartialRendering属性将不起作用,因为这是在构建页面时完成的。我需要能够在切换下拉列表框时执行此操作。

有什么想法吗?

干杯!

/肖恩

2 个答案:

答案 0 :(得分:1)

嗯,经过多次反复试验,我发现了两种似乎有效的方法:

  • 使用Javascript手动提交与页面关联的顶级表单。这通常具有“form1”的ID。
  • 创建任何UpdatePanel的按钮,并使用Javascript点击按钮。

我使用第二种方法结束了,因为它允许我使用特定例程处理事件,而无需猜测我的回发是来自Javascript调用。

这是执行回发的代码示例:

...
if (isDownload) {
    document.getElementById('FullPostbackSubmitter').click();
    return;
}
...

希望这有助于其他人!

答案 1 :(得分:0)

您可以将ScriptManager的EnablePartialRendering属性设置为false