我想在.aspx页面中显示iframe,iframes源应该是同一页面。
我需要使用相对的uri。
我应该给'src'属性赋予什么价值?
我意识到这有点不寻常 - 根据传入的参数,页面将以不同的状态显示,因此iframe不会显示在其自身内。
答案 0 :(得分:3)
如果你这样做,你将获得无限循环......处理过程将“永无止境”。也许这就是为什么它是白色的?它真的是处理页面.. - 那是你要的吗 ?例如,如果你只想要2-3页深度,你可以使用查询字符串,例如当查询字符串增加到3时禁用iframe。 MyPage.aspx?depth = 1 --MyPage.aspx?depth = 2 --MyPage.aspx?depth = 3 etc
答案 1 :(得分: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;
}
}
}
}
答案 2 :(得分:1)
iframe标签中的简短回答是src =“localfilename.aspx”。松散应用的Web标准表示任何不以“/”开头的内容都与当前页面的位置有关。有时src =“”甚至可能用于替换当前文件名(在浏览器级别)