框架访问不同域名的页面时,只能访问一个,之后就变更不了了

soldierluo 2011-12-14 10:35:20

<frameset id="frame" cols="185, *" frameborder="1" border="6" framespacing="9" bordercolor="#EEF2FB">
<frame name="leftFrame" src="index_left.aspx" frameborder="1" />
<frame name="main" src="http://a.trustwyz.com/runsys/index_right.aspx" frameborder="0" />
</frameset>


我的框架如上面,leftframe中是链接树,当我访问的是不同域名的页面时,main中就只能访问一个页面,之后再点击左边的链接树中的任何连接就都没有反应了,请问这是为什么,怎么解决
...全文
122 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2011-12-14
  • 打赏
  • 举报
回复
string url = dtNodes.Rows[i]["url"].ToString();
tn.NavigateUrl = url + (url.Contains("?") ? "&" : "?") + "popedomId=" + tn.Value + "&accountId=" + accountId.ToString();

看看生成的链接是否正确
小伙写代码 2011-12-14
  • 打赏
  • 举报
回复
你先把 getChildrenNodes(tn, ae.Accountid); 获取子节点的东西去掉

在调试下父节点的连接是否都对咯
soldierluo 2011-12-14
  • 打赏
  • 举报
回复

这是框架页面

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>信息管理系统</title>
</head>
<frameset rows="64,*" frameborder="NO" border="0" framespacing="0">
<frame src="index_top.aspx" noresize="noresize" frameborder="NO" name="topFrame" scrolling="no" marginwidth="0" marginheight="0" target="main" />
<frameset id="frame" cols="185, *" frameborder="1" border="6" framespacing="9" bordercolor="#EEF2FB">
<frame name="leftFrame" src="index_left.aspx" frameborder="1" />
<frame name="main" src="http://a.trustwyz.com/runsys/index_right.aspx"<%--src="index_right.aspx"--%> frameborder="0" />
</frameset>
</frameset>
</html>


这是绑定tree的代码

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getRoots();
}
}

private void getRoots()
{
if (myLogin != null)
{
PopedomTAccountEntity ae = (PopedomTAccountEntity)myLogin;

DataTable dtRoots = pm.GetByAccountidAndParentid(ae.Accountid, 0);

TreeNode tn = null;
for (int i = 0; i < dtRoots.Rows.Count; i++)
{
tn = new TreeNode();
tn.Target = "main";
tn.Text = dtRoots.Rows[i]["name"].ToString();
tn.NavigateUrl = dtRoots.Rows[i]["url"].ToString();
tn.Value = dtRoots.Rows[i]["popedomId"].ToString();

treePopedom.Nodes.Add(tn);

getChildrenNodes(tn, ae.Accountid);
}
}
}

private void getChildrenNodes(TreeNode fatherNode, int accountId)
{
DataTable dtNodes = pm.GetByAccountidAndParentid(accountId, int.Parse(fatherNode.Value));

//祛除非叶子节点的url参数
string parentUrl = fatherNode.NavigateUrl;
if (dtNodes.Rows.Count > 0 && parentUrl.Contains("?"))
{
parentUrl = parentUrl.Substring(0, parentUrl.IndexOf("?"));

fatherNode.NavigateUrl = parentUrl;
}

TreeNode tn = null;
for (int i = 0; i < dtNodes.Rows.Count; i++)
{
tn = new TreeNode();
tn.Target = "main";
tn.Text = dtNodes.Rows[i]["name"].ToString();
tn.Value = dtNodes.Rows[i]["popedomId"].ToString();
string url = dtNodes.Rows[i]["url"].ToString();
tn.NavigateUrl = url + (url.Contains("?") ? "&" : "?") + "popedomId=" + tn.Value + "&accountId=" + accountId.ToString();

fatherNode.ChildNodes.Add(tn);

getChildrenNodes(tn, accountId);
}
}
小伙写代码 2011-12-14
  • 打赏
  • 举报
回复
我试了一下可以啊- -

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<title>测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta content="MSHTML 6.00.2900.5848" name="GENERATOR">

</head>
<frameset id="index" border="0" framespacing="0" rows="123,*" frameborder="no"><FRAMESET
border=0 frameSpacing=0 frameBorder=no cols=280,*><FRAME id=leftFrame
name=leftFrame src="Default.aspx" noResize scrolling=no><FRAME
id=mainFrame name=main src="Default1.aspx" noResize
scrolling=auto></FRAMESET></frameset>
<noframes>
</noframes>
</html>

left
[code=HTML]
<form id="form1" runat="server">
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Target="main" Text="1" Value="1" NavigateUrl="http://www.baidu.com"></asp:TreeNode>
<asp:TreeNode Target="main" Text="2" Value="2" NavigateUrl="http://www.sina.com"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</form>


[/code]
小伙写代码 2011-12-14
  • 打赏
  • 举报
回复
那你看下源代码就知道了,treeview的话好像生成一段JS的 跟普通的有些不同~
阿非 2011-12-14
  • 打赏
  • 举报
回复
什么问题?
soldierluo 2011-12-14
  • 打赏
  • 举报
回复
静态的我试 了是可以的, 但是用。net的treeview的话就不行了
小伙写代码 2011-12-14
  • 打赏
  • 举报
回复
你先把他做成静态的试试行不 或者你右键看看index_left.aspx 的源代码是什么样的
soldierluo 2011-12-14
  • 打赏
  • 举报
回复
我用的是。net的treeview 好像是这个东西引起的
赳赳老陈 2011-12-14
  • 打赏
  • 举报
回复
什么叫只能访问一个页面?只能访问你设置的index_right.aspx页面?
快溜 2011-12-14
  • 打赏
  • 举报
回复
是不是域名解析不出来的原因?。
阿非 2011-12-14
  • 打赏
  • 举报
回复
打不开
soldierluo 2011-12-14
  • 打赏
  • 举报
回复
http://a.trustwyz.com/test/index.aspx

麻烦看下,先点baidu 然后点qq 看能不能打开, 我的是不能
soldierluo 2011-12-14
  • 打赏
  • 举报
回复
本地可以 上传到服务器后为什么不可以了
小伙写代码 2011-12-14
  • 打赏
  • 举报
回复
我测试的时候也是其他域名~

你要不把头部也换成

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<title>测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta content="MSHTML 6.00.2900.5848" name="GENERATOR">

</head>


这个试试
soldierluo 2011-12-14
  • 打赏
  • 举报
回复
生成的链接都是对的,不点其它域名的链接就没问题,一点其它域名的链接就会只能打开一个其它域名的链接的页面,之后怎么点都没反应了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧