使用ajax在iframe中加载内容

时间:2010-08-15 18:37:49

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

我在服务器端使用iframe:

<iframe frameborder="0" runat="server" style="width: 100%; height: 700px; background-color: #bacad3;" id="I1" name="I1" src="Page.aspx"></iframe>

我用这段代码动态更改内容:

protected void Button1_Click(object sender, EventArgs e)
{       
   I1.Attributes["src"] = "Page.aspx";
}

我想用以下方式用ajax实现它:

  1. 当用户点击iframe的一面不要回发页面并更改iframe的src
  2. 我想在progressupdatepanel
  3. 中显示进度

    我提到它我不想运行任何回发只是通过调用iframe以外的方式在iframe中加载页面,例如在页面中有一个按钮,它由更新面板处理并加载其他页面的内容在iframe内部。 有人能帮助我吗?

2 个答案:

答案 0 :(得分:3)

使用onClientClick和mmke确定返回false以取消回发。

window.frames["frameName"].src = "http://example.com";
//or
document.getElementById("iframeId").src = "http://example.com";

如果您使用的是runat = server,则可能需要使用客户端ID

document.getElementById("<%= iframeId.ClientID %>").src = "http://example.com";

答案 1 :(得分:0)

我发现使用这种方法是不可能的,你无法删除回发它需要像google mail(gmail)这样的代理方法,当你点击收件箱时它没有回发,但我们无法用这种方法实现。