web-dev-qa-db-ja.com

ASP.NETでiFrameを使用する

マスターページを含むasp.net Webサイトがあります。iframeを使用して、.aspxページをiframes内にロードできます。 (それはマスターページをロードしないことを意味します)

ちょっと私のiframecontentplaceholderになるのか、それともcontentplaceholderがその中にあるのでしょうか?

何か案は?

20
Or Betzalel

これを試して

<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");
}
29
santosh singh

どうですか:

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

。Net Framework 4.5以降でサポートされています

このコントロールの使用に問題がある場合は、 こちら をご覧ください。

9
Philipp Hofmann

Iframeは、HTMLページに配置してその中に別のURLを表示できる埋め込みブラウザウィンドウと考えることができます。このURLは、Webサイト/アプリとはまったく異なる場合があります。

任意のHTMLページにiframeを配置できるため、マスターページを持つWebフォームのcontentplaceholder内にiframeを配置できます。iframeをサーバーに変換する場合は、ロードするURLとともに表示されます(JavascriptまたはC#を使用) -side control(runat='server')要求されたときにWebフォームが生成する最終HTMLページ。

そして、iframeにis a .aspxページ。

ただし、iframeはASP.netメカニズムとは関係ありません。これらは、サーバー側で実行できるHTML要素ですが、本質的に「ダム」であり、ASP.Netメカニズムに管理されていない/接続されていません。Contentplaceholderとiframeを混同しないでください。

ちなみに、iframeの使用はまだ議論の余地があります。本当に使用する必要がありますか?それらに関連する負のトレードオフを支払う余裕はありますか?ナビゲーション履歴の欠如...?

8
indra

別のオプションは、プレースホルダーを使用することです。

Html:

<body>
   <div id="root">
      <asp:PlaceHolder ID="iframeDiv" runat="server"/>
   </div>
</body>

C#:

iframeDiv.Controls.Add(new LiteralControl("<iframe src=\"" + whatever.com + "\"></iframe><br />"));
7
owen gerig