在ASP.NET中使用iFrame

我有一个带有主页的asp.net网站,我可以使用iframe所以我的.aspx页面会加载到iframes 。 (意思是它不会加载主页面)

有点像我的iframe将是contentplaceholder或者contentplaceholder会在里面吗?

有任何想法吗?

试试这个

  

在母版页的代码隐藏中公开此iframe:

 public HtmlControl iframe { get { return this.myIframe; } } 

将内容页面的MasterType指令添加到强类型母版页。

 <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits=_Default" Title="Untitled Page" %> <%@ MasterType VirtualPath="~/MasterPage.master" %> 

在代码背后

 protected void Page_Load(object sender, EventArgs e) { this.Master.iframe.Attributes.Add("src", "some.aspx"); } 

您可以将iframe视为嵌入式浏览器窗口,您可以将其放在HTML页面上以显示其中的其他URL。 此url可能与您的网站/应用完全不同。

您可以在任何HTML页面中放置一个iframe,这样您就可以将一个iframe放在一个包含Masterpage的webform中的contentplaceholder中,它将显示您加载到其中的任何URL(通过Javascript或C#,如果您将iframe转换为服务器在请求时webform生成的最终HTML页面上的控制( runat='server' )。

并且您可以将URL加载到iframe .aspx页面。

但是 – iframe与ASP.net机制无关。 它们是可以在服务器端运行的HTML元素,但它们本质上是“哑”并且不受管理/不连接到ASP.Net机制 – 不要将Contentplaceholder与iframe混淆。

顺便说一下,使用iframe仍然有争议 – 你真的需要使用iframe吗? 你能承受与他们相关的负面权衡,例如缺乏导航历史……?

怎么样:

  

自.Net Framework 4.5以来一直受支持

如果您在使用此控件时遇到问题,可以查看此处 。

另一种选择是使用占位符。

HTML:

  

C#:

 iframeDiv.Controls.Add(new LiteralControl("
"));