Iframe 与包含页间沟通的问题,大伙一起来想想吧!!!???

ColorSM 2002-04-12 01:56:42
我把 TreeView 建在单独一页(page01.aspx)中,然后在另一页(page02.aspx)中 用一 Iframe 链接此 TreeView页。问题是:

我怎样在选择 TreeView 选项时,改变父页(page02.aspx)中的某一变量的值(例如一文本框中的文本)????
...全文
50 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
niwalker 2002-04-15
  • 打赏
  • 举报
回复
可以做到,但是比较麻烦,因为IFRAME不是服务器对象,没有办法直接读取,要实现这样的功能你只能把TreeView状态保存成Session或其他的全局变量,还要自己编写一个事件处理。
另外一种可替代的方法是不使用iframe,用user control来代替,这样相对简单些,我就是采用这种方法的。
yxrj 2002-04-15
  • 打赏
  • 举报
回复
客户端代码使表单提交或改变url
然后服务器端就可以获得你要的值
之后你想要做什么都可以了

这难道还不行?
ColorSM 2002-04-13
  • 打赏
  • 举报
回复
这里还是用的是客户瑞的代码呀!!!

yxrj 2002-04-12
  • 打赏
  • 举报
回复
以上方法试验成功,但是此方法只对 page02.aspx 页面中的客户端控件起作用。如果要实验与服务端控件的交互, 不知有没有办法。


1.window.parent.location.href="page02.aspx?param="+test;
然后在page02.aspx的page_load里取Request["param"]

2.window.parent.document.all.TextBox1.value=test;
window.parent.forms[0].submit();
然后在page02.aspx的page_load里取TextBox1.Text

jdxx 2002-04-12
  • 打赏
  • 举报
回复
服务器端有一个方法,但我还没有试出来:
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{

}
我还不知道怎么用?? :)
jdxx 2002-04-12
  • 打赏
  • 举报
回复
可以用 xml :
<?xml version="1.0" encoding="utf-8" ?>
<TREENODES>
<treenode type="root" Text="North America">
<treenode type="folder" Text="Michigan" NavigateUrl="aaa.aspx?id=1" taget="iFrame"/>
<treenode type="file" Text="Detroit" NavigateUrl="aaa.aspx?id=2" taget="iFrame"/>
<treenode type="file" Text="Farmington" NavigateUrl="aaa.aspx?id=3" taget="iFrame"/>
</treenode>
</treenode>
</TREENODES>
ColorSM 2002-04-12
  • 打赏
  • 举报
回复
我怎样在选择 TreeView 选项时,改变父页(page02.aspx)中的某一变量的值(例如一文本框中的文本)????

假设你在选择 TreeView 选项时得到一string test
那么你就可以用js

window.parent.document.all.TextBox1.value=test;

以上方法试验成功,但是此方法只对 page02.aspx 页面中的客户端控件起作用。如果要实验与服务端控件的交互, 不知有没有办法。

兄弟们,帮帮忙!拜托!

ColorSM 2002-04-12
  • 打赏
  • 举报
回复
如何实现啊?有没有谁试验成功了的。我现在没在办公室,不能试验。。
大家帮忙试验一下。到底有什么好办法???
ColorSM 2002-04-12
  • 打赏
  • 举报
回复
在 .cs 文件中怎么实现?
这样才以体现 Codehide 技术的优势啊!!!
yxrj 2002-04-12
  • 打赏
  • 举报
回复
我怎样在选择 TreeView 选项时,改变父页(page02.aspx)中的某一变量的值(例如一文本框中的文本)????

假设你在选择 TreeView 选项时得到一string test
那么你就可以用js
window.parent.document.all.TextBox1.value=test;
ColorSM 2002-04-12
  • 打赏
  • 举报
回复
画中画。

可以在页中开一个小窗口。
jdxx 2002-04-12
  • 打赏
  • 举报
回复
OK了,多谢!!
顺便问一句:iFrame是个什么冬冬??
ColorSM 2002-04-12
  • 打赏
  • 举报
回复
看起来,应该是:
private void Page_Load(object sender, System.EventArgs e)
{
TreeNode n1=new TreeNode();
TreeView1.Nodes.Clear();
n1.Text="***";
TreeView1.Nodes.Add(n1);

for (int i=0;i<=20;i++)
{
n1.Text=i.ToString();
TreeView1.Nodes.AddAt(0,n1); //这样在第一节点下将产生20个子节点

//TreeView1.Nodes.Add(n1);
}
}
jdxx 2002-04-12
  • 打赏
  • 举报
回复
为什么我的TreeView总是报错??
错误信息: System.Exception: Attempted to add a TreeNode to a second TreeNodeCollection. A TreeNode can belong to only one TreeNodeCollection. Remove the TreeNode from its old collection before adding it to a new one.

我的代码:
private void Page_Load(object sender, System.EventArgs e)
{
TreeNode n1=new TreeNode();
TreeView1.Nodes.Clear();
for (int i=0;i<=20;i++)
{
n1.Text=i.ToString();
TreeView1.Nodes.AddAt(i,n1);
//TreeView1.Nodes.Add(n1);
}
}

能帮我看看吗?? 最好有源码!

多谢!!!

62,243

社区成员

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

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

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

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