c# - Usando iFrames en ASP.NET
contentplaceholder (4)
Tengo un sitio web asp.net con una página maestra, ¿puedo usar el iframe
para que mis páginas .aspx
se carguen dentro de los iframes
? (Lo que significa que no cargará la página maestra)
¿Algo así como mi iframe
será el contentplaceholder
del contentplaceholder
o tal vez el contentplaceholder
del contentplaceholder
estará dentro de él?
¿Algunas ideas?
Otra opción es utilizar marcadores de posición.
Html:
<body>
<div id="root">
<asp:PlaceHolder ID="iframeDiv" runat="server"/>
</div>
</body>
DO#:
iframeDiv.Controls.Add(new LiteralControl("<iframe src=/"" + whatever.com + "/"></iframe><br />"));
Puede pensar en un iframe como una ventana de navegador incrustada que puede colocar en una página HTML para mostrar otra URL dentro de ella. Esta URL puede ser totalmente distinta de su sitio web / aplicación.
Puede colocar un iframe en cualquier página HTML, por lo que puede colocar uno dentro de un marcador de lugar de contenido en un formulario web que tenga una página maestra y aparecerá con la URL que cargue (a través de Javascript o C # si convierte su iframe en un servidor). -side control ( runat=''server''
) en la página HTML final que produce su formulario web cuando se solicita.
Y puede cargar una URL en su iframe que es una página .aspx
.
Pero, los iframes no tienen nada que ver con el mecanismo de ASP.net. Son elementos HTML que se pueden hacer para ejecutarse en el lado del servidor, pero son esencialmente "simples" y no administrados / desconectados de los mecanismos de ASP.Net. No confunda un Contentplaceholder con un iframe.
Por cierto, el uso de iframes sigue siendo polémico: ¿realmente necesita usar uno? ¿Puede pagar las compensaciones negativas asociadas con ellos, por ejemplo, la falta de historial de navegación ...?
Qué tal si:
<asp:HtmlIframe ID="yourIframe" runat="server" />
Es compatible desde .Net Framework 4.5
Si tiene problemas con este control, puede echar un vistazo here .
prueba esto
<iframe name="myIframe" id="myIframe" width="400px" height="400px" runat =server></iframe>
Exponga este iframe en el código de la página maestra:
public HtmlControl iframe
{
get
{
return this.myIframe;
}
}
Agregue la directiva MasterType para la página de contenido a la página maestra fuertemente tipada.
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits=_Default" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
En codigo detras
protected void Page_Load(object sender, EventArgs e)
{
this.Master.iframe.Attributes.Add("src", "some.aspx");
}