母版页嵌套iframe问题,求各位指点,在线等 小弟手头现有一项目原来用母版页来控制整体风格,现在想在该母版页处加树形导航,并且根据内容页的功能不同显示不同 的树形导航。考虑到母版页每次都要刷新而且还有大量的重定向情况,所有打算在masterpage中嵌套一个iframe用来放导航树,求各位给提供点思路,如果有例子的话就更好了。谢谢各位! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是这样的,如果只是刷新的话,用ajax可以处理,只是重定向的这种处理不了,我说的有问题,请见谅 <iframe id="x" runat=server></iframe>这样在服务器端就可以动态设置src了x.Attributes.Add("src","动态的aspx") 我昨天试了一下,在masterpage里有若干个选项卡,选中一个通过window.iframe的id.location.href来跳转,如果加上runat=server里头取不到指定的页码,如果去了,里面能取到,外面一片空白,查看源代码是有内容的 我发现把iframe放到masterpage其他内容块的后面(如div),这样的话别的部分就能显示出来了,只是我的iframe的src写死的话,iframe里面能有值,如果动态用iframe的名称.location.href或iframe的名称.src来跳转的话iframe里面没有值了。 无刷新使用updatepanel等<iframe id="right"..></iframe>onclick中window.frames["right"].src=""; 如果动态用iframe的名称.location.href或iframe的名称.src来跳转的话iframe里面没有值了。不可能的,除非你的方法是错误的,这样写<iframe name="right"..></iframe>onclick中onclick='window.frames["right"].location.href="xx.aspx"';注意是name属性 我给你写个简单 的例子MasterPage.master的内容<%@ Master Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder></head><body> <form id="form1" runat="server"> 母板页 <iframe id="mxh" name="mxh" runat="server"></iframe> <div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> </form></body></html>内容页的内容<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPage.master" %><asp:Content ID="x" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 内容页</asp:Content><script runat="server"> protected void Page_Load(object sender, EventArgs e) { String a = Request.QueryString["id"]; if (a != null) { HtmlGenericControl mxh = Page.Master.FindControl("mxh") as HtmlGenericControl; if (a == "1") { mxh.Attributes.Add("src", "http://dotnet.aspx.cc/"); } else if (a == "2") { mxh.Attributes.Add("src", "http://www.g.cn/"); } } }</script>你浏览器http://localhost:3556/c3/Default2.aspx?id=2http://localhost:3556/c3/Default2.aspx?id=1就可以测试出效果了 谢谢上面的例子,我现在需要在母版页里添加一个选项卡,点击选项卡的时候迁移内容页,同时也判断显示哪一个导航树,我现在的导航树都是写成一个独立的页面,这样后台和前台都试了,仍然不能在frame里显示出导航树的页面 你要搞清楚,页面的结构,是否有frame嵌套,单纯的一个页面是没有没问题的, 我想就算是iframe嵌套在masterpage里,masterpage里的选项卡引起重定向,iframe还是要重新加载的,此路不通啊。 还想再提一个问题,现在我要是全部改成frame框架,怎么来控制整个网站的主题和语言风格呢? 教程http://msdn.microsoft.com/zh-cn/library/ykzx33wh.aspx GridView_RowUpdating~问题 msdn2008打开就一直是"更新正在进行" 如何动态控制控件事件的有效性? DataList分页问题 路过的帮下,谢谢,急。 如何读取的xml [菜鸟问题]有关2003和2005的问题? 请问怎样生成文件? 久仰此网站的大名第一次来,问个关于DataGrid行的问题,急救!先谢谢大哥哥了们! 求助!!!!!!!!!!!!!!!!!!!!!!!!!! 提问一个菜鸟问题 一个一行一列的大table在左边,如何把一个button放到它的右边
<iframe id="right"..></iframe>
onclick中window.frames["right"].src="";
不可能的,除非你的方法是错误的,这样写<iframe name="right"..></iframe>
onclick中onclick='window.frames["right"].location.href="xx.aspx"';注意是name属性
MasterPage.master的内容<%@ Master Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
母板页
<iframe id="mxh" name="mxh" runat="server"></iframe>
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
内容页的内容
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPage.master" %><asp:Content ID="x" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
内容页
</asp:Content>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
String a = Request.QueryString["id"];
if (a != null)
{
HtmlGenericControl mxh = Page.Master.FindControl("mxh") as HtmlGenericControl;
if (a == "1")
{
mxh.Attributes.Add("src", "http://dotnet.aspx.cc/");
}
else if (a == "2")
{
mxh.Attributes.Add("src", "http://www.g.cn/");
}
}
}
</script>你浏览器
http://localhost:3556/c3/Default2.aspx?id=2
http://localhost:3556/c3/Default2.aspx?id=1
就可以测试出效果了
http://msdn.microsoft.com/zh-cn/library/ykzx33wh.aspx