防止在回发时重新加载 iframe

Posted

技术标签:

【中文标题】防止在回发时重新加载 iframe【英文标题】:Prevent Iframe reloading on post back 【发布时间】:2010-12-19 07:07:39 【问题描述】:

我有一个带有一个 iframe 和一个按钮的网页。

在页面加载事件中,

if (!Page.IsPostBack)

string sDocUrl = //some doucmen url
Iframe1.Attributes["src"] = sDocUrl;

当页面重新加载(通过单击按钮)时,此 iframe 正在 也重装了。此 iframe 具有静态数据,不需要 每次单击按钮时都会重新加载。有没有办法防止 重新加载网络表单时要重新加载 iframe?

【问题讨论】:

【参考方案1】:

您可以使用 javascript 动态添加 iframe:

if (!Page.IsPostBack)

    $('#foo').append('<iframe src="' + sDocUrl + '"></iframe>');

使用 jQuery 将 iframe 添加到 id 为“foo”的元素。但它只会在 'if' 语句中的表达式返回 true 时添加 iframe。

【讨论】:

尽管再看你的问题,你似乎仍然希望 iframe 显示在回发上,对吧?如果是这样,那么@d 是正确的,没有办法阻止它重新加载。 谢谢,是的,你是对的,回邮后它也需要在那里。感谢您的帮助。【参考方案2】:

当页面重新加载时,其中包含的任何 iframe(就像任何脚本、图像、任何东西一样)将始终重新加载。抱歉,没有办法解决这个问题,仅仅是因为整个页面实际上会重新加载。

【讨论】:

以上是关于防止在回发时重新加载 iframe的主要内容,如果未能解决你的问题,请参考以下文章

asp .net背景图像在回发时闪烁

jQuery填充的Gridview在回发时丢失数据

在回发时,如何向验证摘要添加错误消息?

Gridview 中 TemplateField 中的复选框在回发时丢失

DropDownList 中的 ListItems 属性在回发时丢失?

在回发时保持页面内 div 的滚动位置