1

.aspxページにiframeを表示したいのですが、iframeのソースは同じページである必要があります。

相対URIを使用する必要があります。

'src'属性にはどのような値を指定する必要がありますか?

これは少し珍しいことだと思います。渡されたパラメータに応じてページがさまざまな状態で表示されるため、iframe自体は表示されません。

4

3 に答える 3

3

これを行うと、無限ループが発生します...処理は「決して終了しません」。多分それが白い理由ですか?それは本当にページを処理しています.. - それはあなたが望むものですか? たとえば、深さが 2 ~ 3 ページだけ必要な場合は、クエリ文字列を使用して、たとえば、クエリ文字列が 3 にインクリメントされたときに iframe を無効にすることができます。 MyPage.aspx?depth=1 --MyPage.aspx?depth=2 --MyPage .aspx?depth=3 など

于 2009-02-25T06:10:32.637 に答える
2

文字通りの相対パスが機能するはずです。IE:MyPage.aspx

これがASP.NETの例です...

次のように私のためにうまくいくように見えました...

マークアップ:

<%@ 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;
            }
        }
    }
}
于 2009-02-25T06:00:43.580 に答える
1

簡単な答えは、iframe タグ内の src="localfilename.aspx" です。大まかに適用された Web 標準では、「/」で開始されていないものはすべて、現在のページの位置に関連していると述べています。src="" は、現在のファイル名を置き換えるために機能する場合もあります(ブラウザレベルで)

于 2009-02-25T06:57:51.447 に答える