Using iFrames In ASP.NET
我有一个带主页的asp.net网站,我可以使用
像我的
有什么想法吗?
试试这个
1 | <iframe name="myIframe" id="myIframe" width="400px" height="400px" runat="server"></iframe> |
将此iframe暴露在母版页代码中:
1 2 3 4 5 6 7 | public HtmlControl iframe { get { return this.myIframe; } } |
将内容页面的MasterType指令添加到强类型的母版页中。
1 2 | <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits=_Default" Title="Untitled Page" %> <%@ MasterType VirtualPath="~/MasterPage.master" %> |
在后面的代码中
1 2 3 4 | protected void Page_Load(object sender, EventArgs e) { this.Master.iframe.Attributes.Add("src","some.aspx"); } |
怎么样:
1 |
从.Net Framework 4.5开始受支持
如果您在使用此控件时遇到问题,可以在这里看看。
另一种选择是使用占位符。
HTML:
1 2 3 4 5 | <body> </body> |
C#:
1 |
您可以将iframe视为嵌入式浏览器窗口,可以将其放在HTML页面上以在其中显示另一个URL。此URL可以与您的网站/应用完全不同。
您可以将iframe放置在任何HTML页面中,因此您可以将iframe放置在具有母版页的网络表单的contentplaceholder内,并且它将随您加载到其中的URL一起显示(通过Javascript或C#,如果您打开iframe放入您的Webform在请求时生成的最终HTML页面上的服务器端控件(
您可以将URL加载到iframe中,该页面是
但是-iframe与ASP.net机制无关。它们是可以在服务器端运行的HTML元素,但它们本质上是"哑巴"的,并且不受ASP.Net机制的管理/与它们的连接-不要将Contentplaceholder与iframe混淆。
顺便说一句,使用iframe仍然有争议-您是否真的需要使用iframe?您能否承受与之相关的负面折衷,例如缺少导航历史记录...?