+ -
当前位置:首页 → 问答吧 → 如何点击一个iframe中的button向另一个iframe中的Treeview添加节点

如何点击一个iframe中的button向另一个iframe中的Treeview添加节点

时间:2011-11-28

来源:互联网

我在一个页面里面添加了两个iframe
HTML code

<head runat="server">
    <title></title>
</head>
<body>
<iframe id="F1" src="frame_a.aspx"></iframe>
<iframe id="F2" src="frame_b.aspx"></iframe>
</body>
</html>



然后在frame_a.aspx添加一个TreeView
HTML code

    <form id="form1" runat="server">
    <div>
        <asp:TreeView ID="TreeView1" runat="server">
            <Nodes>
                <asp:TreeNode Text="N1" Value="N1"></asp:TreeNode>
                <asp:TreeNode Text="N2" Value="N2"></asp:TreeNode>
            </Nodes>
        </asp:TreeView>
    </div>
    </form>



frame_b.aspx里面添加一个button
HTML code

    <form id="form1" runat="server">
    <div>    
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="添加" />
    </div>
    </form>



我想在frame_b.aspx里面点击button之后在frame_a.aspx的树里面添加一个节点
代码很简单 
C# code

        protected void Button1_Click(object sender, EventArgs e)
        {
            frame_a.TreeView1.Nodes.Add(new TreeNode("N3"));
        }




我把TreeView1设为公共静态的了,但是为什么点击之后出错说
”未将对象引用设置到对象的实例“
就是说TreeView1在这里面是null的,所以出错。

我不知道我的这个方法可不可行,如果要达到我说的效果点击一个iframe中的button向另一个iframe中的Treeview添加节点,正确的做法是什么呢?

作者: qmzhn   发布时间: 2011-11-28

protected void Button1_Click(object sender, EventArgs e)
  {
  frame_a.TreeView1.Nodes.Add(new TreeNode("N3"));
  }

这个变量替换成frame_a.aspx的命名空间,一般是你的项目名



using System;
using System.Collections.Generic;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Test
{
  public partial class frame_a : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {

  }
  }
}

作者: p2227   发布时间: 2011-11-28