我有一个带有母版页的 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");
}

其他提示

怎么样:

<asp:HtmlIframe ID="yourIframe" runat="server" />

从 .Net Framework 4.5 开始受支持

如果您在使用此控件时遇到问题,您可以看看 这里.

您可以将 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 />"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top