Domanda

Ho un sito Web ASP.NET con una pagina master, posso utilizzare iframe in modo che le pagine .aspx verranno caricate all'interno del iframes.(Significa che non caricare la pagina master)

kinda come il mio iframe sarà il contentplaceholder o forse il contentplaceholder sarà dentro di esso?

Qualche idea?

È stato utile?

Soluzione

Prova questo

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

Esporre questo IFrame nella pagina Pagina principale:

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

Aggiungi la direttiva di masterType per la pagina del contenuto a una pagina master a forte digitata.

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

in codice dietro

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

Altri suggerimenti

Che ne dici di:

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

È supportato da .NET Framework 4.5

Se si hanno problemi a utilizzare questo controllo, potresti dare un'occhiata a qui .

Puoi pensare a un Iframe come una finestra del browser incorporato che è possibile inserire una pagina HTML per mostrare un altro URL al suo interno. Questo URL può essere totalmente distinto dal tuo sito web / app.

È possibile inserire un Iframe in qualsiasi pagina HTML, in modo da poter inserire uno all'interno di un Pratenshishholder in una busta web che ha una masterpage e apparirà con qualsiasi URL che lo carica (tramite JavaScript o C # se si gira il tuo Iframe In un controllo lato server (runat='server') sulla pagina HTML finale che il tuo WebForm produce quando richiesto.

E puoi caricare un URL nel tuo IFrame che è una pagina .aspx.

Ma - iframe non hanno nulla a che fare con il meccanismo ASP.NET. Sono elementi HTML che possono essere eseguiti per eseguire il lato server, ma sono essenzialmente "stupidi" e non gestiti / non connessi ai meccanismi ASP.NET - non confondere un luogo di bellezza con un Iframe.

Incidentalmente, l'uso di IFrames è ancora controverso - hai davvero bisogno di usarne uno? Puoi permetterti i compromessi negativi associati a loro ad es. Mancanza di storia della navigazione ...?

Un'altra opzione è utilizzare i segnaposto.

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 />"));
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top