在 ASP.NET 中使用 iFrame
-
14-11-2019 - |
题
我有一个带有母版页的 asp.net 网站,我可以使用 iframe
所以我的 .aspx
页面将加载到 iframes
. 。(这意味着它不会加载母版页)
有点像我的 iframe
将是 contentplaceholder
或者也许是 contentplaceholder
会在里面吗?
有任何想法吗?
解决方案
尝试这个
<iframe name="myIframe" id="myIframe" width="400px" height="400px" runat =server></iframe>
在母版页的代码隐藏中公开此 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 可以与您的网站/应用程序完全不同。
您可以将 iframe 放入任何 HTML 页面中,这样您就可以将一个 iframe 放入具有母版页的 Web 表单中的 contentplaceholder 中,它将与您加载到其中的任何 URL 一起显示(通过 Javascript 或 C#,如果您将 iframe 变成服务器)侧控制(runat='server'
)在您的网络表单根据请求生成的最终 HTML 页面上。
您可以将 URL 加载到 iframe 中 是 A .aspx
页。
但是 - iframe 与 ASP.net 机制无关。它们是可以在服务器端运行的 HTML 元素,但它们本质上是“哑”的并且不受管理/未连接到 ASP.Net 机制 - 不要将 Contentplaceholder 与 iframe 混淆。
顺便说一句,iframe 的使用仍然存在争议 - 您真的需要使用它吗?您能承受与它们相关的负面权衡吗?缺少导航历史记录...?
另一种选择是使用占位符。
网页:
<body>
<div id="root">
<asp:PlaceHolder ID="iframeDiv" runat="server"/>
</div>
</body>
C#:
iframeDiv.Controls.Add(new LiteralControl("<iframe src=\"" + whatever.com + "\"></iframe><br />"));
不隶属于 StackOverflow