Frage

Ich habe eine asp.net-Website mit einer Masterseite, kann ich diese verwenden? iframe so mein .aspx Seiten werden in geladen iframes.(Das bedeutet, dass die Masterseite nicht geladen wird)

Irgendwie wie ich iframe wird sein contentplaceholder oder vielleicht das contentplaceholder wird drin sein?

Irgendwelche Ideen?

War es hilfreich?

Lösung

Versuche dies

<iframe name="myIframe" id="myIframe" width="400px" height="400px" runat =server></iframe>

Machen Sie diesen Iframe im CodeBehind der Masterseite verfügbar:

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

Fügen Sie die MasterType-Direktive für die Inhaltsseite zur stark typisierten Masterseite hinzu.

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

Im Code dahinter

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

Andere Tipps

Wie wäre es mit:

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

Wird seit .Net Framework 4.5 unterstützt

Wenn Sie Probleme mit der Verwendung dieses Steuerelements haben, werfen Sie einen Blick darauf Hier.

Sie können sich einen Iframe als ein eingebettetes Browserfenster vorstellen, das Sie auf einer HTML-Seite einfügen können, um darin eine andere URL anzuzeigen.Diese URL kann sich völlig von Ihrer Website/App unterscheiden.

Sie können einen Iframe in jede HTML-Seite einfügen, also einen in einen Inhaltsplatzhalter in einem Webformular einfügen, das über eine Masterseite verfügt, und er wird mit der von Ihnen geladenen URL angezeigt (über Javascript oder C#, wenn Sie Ihren Iframe in einen Server umwandeln). -seitige Steuerung (runat='server') auf der endgültigen HTML-Seite, die Ihr Webformular auf Anfrage erstellt.

Und Sie können eine URL in Ihren Iframe laden Ist A .aspx Seite.

Aber – Iframes haben nichts mit dem ASP.net-Mechanismus zu tun.Es handelt sich um HTML-Elemente, die für die serverseitige Ausführung erstellt werden können, aber im Wesentlichen „dumm“ und nicht verwaltet/nicht mit den ASP.Net-Mechanismen verbunden sind – verwechseln Sie einen Contentplaceholder nicht mit einem Iframe.

Übrigens ist die Verwendung von Iframes immer noch umstritten – muss man wirklich eines verwenden?Können Sie sich die damit verbundenen negativen Kompromisse leisten, z.Mangel an Navigationsverlauf ...?

Eine weitere Möglichkeit ist die Verwendung von Platzhaltern.

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 />"));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top