新手请教了 一个框架问题 谢谢

k429817328 2009-01-21 10:45:26
现在做一个frameset 有4个页面 分别是top main bottom
main左边有个iframe,里面也面是导航,用的是treeview
点击top上的一级菜单传值到iframe里,treeview显示2 3 4级菜单
点击treeview的节点传值到main里,调用页面
我用的方法是在top里 response.redirect(XX + param)
现在的问题是 点击treeview节点以后,整个框架刷新了,treeview自动又刷新成第1个一级菜单的子菜单
比如一级菜单 中国 美国 点了美国后treeview就显示的是美国的子菜单,但点美国的子菜单以后,
页面刷新,treeview又变成了默认的中国子菜单.请问怎么解决? 我没有分 谢谢

...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
k429817328 2009-01-21
  • 打赏
  • 举报
回复
自己顶`没人回答啊`
CrystalofAA 2009-01-21
  • 打赏
  • 举报
回复
treeview 的节点 在绑定值的时候 设置一下 taget=maim
踏雪听雨 2009-01-21
  • 打赏
  • 举报
回复
你要纯用客户端脚本实现.
不能用服务器控件
DNN-2017 2009-01-21
  • 打赏
  • 举报
回复
这应该是单击node回传了服务器导致的。查看网页源码可以看到:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}

你可以
先屏蔽node单击后的回传事件:
在编辑节点的时候将节点的SelectAction属性设置为Expand或者None.
添加node的客户端处理代码把要的网页加载到main中。

为treeview添加客户端事件:
CS:

TreeNode nodeF = new TreeNode();

nodeF.ID = drKs[0].ToString()+"\" onclick=\"javascript:node_click('"+drKs[0].ToString()+"');"; //关键就在加红的这段代码。

nodeF.Text = drKs[1].ToString();

t_TjXmWh.Nodes.Add(nodeF);

在前台代码中添加相应脚本:
<SCRIPT language=javascript>
<!--
function node_click(text)
{
window.parent.frm_right.location.replace("aTjXmWh_right.aspx?Parameters="+text);
}
//-->
</SCRIPT>

62,269

社区成员

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

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

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

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