主题:  关于框架之间的传值?大侠帮帮忙啊!很急呀!!!

ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#12006/3/9 20:55:28
我在desk.aspx中建了框架,
<frameset id="thisFrame" rows="*" cols="180,*">
<frame border="0" name="LeftFrame" frameSpacing="0" src="application.aspx" frameBorder="0" scrolling="yes">
<frame border="0" name="MainFrame" frameSpacing="0" frameBorder="0" scrolling="yes">
</frameset>
然后在application.aspx中加一个treeview,点击其node点,可连接MainFrame中的网页.
现在要求当点击LeftFrame中treeview的node点时,将node点的text值,传到MainFrame的网页中去.
在application.aspx中加一个treeview,
使用数据库tbtree建树,
其中用到:
Node.Target="MainFrame";
Node.NavigateUrl=Row["address"].ToString();
Node.Text = Row["ConText"].ToString();
pNode.Nodes.Add(Node);
AddTree(Int32.Parse(Row["ID"].ToString()),Node);
语句.
使用下面语句传值strNode到MainFrame的网页中去.:
public void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
string strNode=TreeView1.GetNodeFromIndex(e.NewNode).Text;
Session["strNode"]=strNode;
}
在MainFrame的网页中使用:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
alldisplay=this.RadioButtonList1.Selectedvalue;
string strNode=Session["strNode"].ToString();    
alldisplay=strNode.Trim()+alldisplay.Trim();
if((alldisplay!="总队新增着装人员名单"&&(alldisplay!="总队换装人员名单")
{
this.Label1.Text="请先选择名单类型";
}
else
{
this.listname.Text=alldisplay;
}
}
}
这样来完成页面之间的传值,但是发现在运行时,总是先运行在MainFrame的网页中的
private void Page_Load(object sender, System.EventArgs e)语句,而不是application.aspx中treeview的public void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)语句,也就是说传值失败了.
按道理说,应该是先点击treeview的node点,执行TreeView1_SelectedIndexChange()中的
string strNode=TreeView1.GetNodeFromIndex(e.NewNode).Text;
Session["strNode"]=strNode;
语句然后再进入MainFrame的网页中的private void Page_Load()实现传值呀,既然先执行MainFrame的网页中的private void Page_Load(),那么点击LeftFrame的treeview的node点,如何将node点的text值传到右边MainFrame的页面中去呢?要求传递值必须在右边MainFrame的页面中的private void Page_Load()里.
太难了,知道是逻辑上的问题,可是真的没有想明白呀!头一次使用框架间传值,如何实现呀!!

大侠帮帮忙啊!很急呀!!!就要交活了!只差框架传值了!!!
鞠躬!!