回 帖 发 新 帖 刷新版面

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

我在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()里.
太难了,知道是逻辑上的问题,可是真的没有想明白呀!头一次使用框架间传值,如何实现呀!!

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

回复列表 (共2个回复)

沙发

网页之间变量传递就行了!

比如A网页传递到B网页的变量为ID
a.aspx?id=value

在B网页用id=request.querystring("id") ID的值

板凳

建议使用javascript 配合 隐藏对象来实现

我来回复

您尚未登录,请登录后再回复。点此登录或注册