Как сделать iframe, который отображает родительскую страницу - PullRequest
1 голос
/ 25 февраля 2009

Я хочу отобразить iframe на странице .aspx, и источник iframes должен быть на той же странице.

Мне нужно использовать относительный URI.

Какое значение я должен дать атрибуту 'src'?

Я понимаю, что это немного необычно - страница будет отображаться в разных состояниях в зависимости от переданных параметров, поэтому iframe не будет отображаться внутри себя.

Ответы [ 3 ]

3 голосов
/ 25 февраля 2009

Если вы сделаете это, вы получите бесконечный цикл ... обработка никогда не закончится. может, поэтому он белый? это действительно обработка страниц .. - Это то что ты хочешь ? например, если вам нужна глубина 2-3 страницы, вы можете использовать строку запроса и, например, отключить iframe, когда строки запроса увеличиваются до 3. MyPage.aspx? Deep = 1 - MyPage.aspx? Глубина = 2 - MyPage.aspx? Глубина = 3 и т.д.

2 голосов
/ 25 февраля 2009

Буквальный относительный путь должен работать. IE: MyPage.aspx

Вот пример ASP.NET ...

Мне показалось, что все работает нормально со следующим ...

Markup:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <iframe runat="server" id="myFrame" src="Default.aspx?message=Hello%20World"></iframe>
    <div id="myDiv" runat="server"></div>
    </div>
    </form>
</body>
</html>

Код сзади:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string message = Request.QueryString["message"];
            if (null != message)
            {
                myDiv.InnerText = message;
                myFrame.Visible = false;
            }
            else
            {
                myDiv.Visible = false;
            }
        }
    }
}
1 голос
/ 25 февраля 2009

Краткий ответ: src = "localfilename.aspx" внутри тега iframe. Свободно применяемый веб-стандарт говорит, что все, что не обработано символом «/», относится к местоположению текущей страницы. Иногда src = "" может даже подменить текущее имя файла (на уровне браузера)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...