现在的ASP.NET好像不行吧,使用客户端脚本吧。

解决方案 »

  1.   

    这不就是页面刷新问题吗?在一个frame里刷新另一个frame中的页面问题吗?
      

  2.   

    <a target="框架名" href="x.aspx">link</a>
      

  3.   

    先谢谢大家的热情参与,问题没有那么简单,还请各位出注意。我在titl.aspx里面有个datagrid,选中其中的一项,要求在body.aspx里面的listbox里面显示相应的数据列表。这是客户定的,不是很好改变设计。有没有替代方法,模拟类似的效果。
      

  4.   

    先在title.aspx 中取出datagrid 中的ID,然后用session[] 或者chche[]存下来,然后刷新body.aspx ,在body.aspx 的pageload事件中写如下代码
    if (Session["sid"]!=null) 
    {
       ......
       DataList.DataBind();
    }
    我再不同页面之间都是这么做的!
      

  5.   

    datagrid里,可以用超连接,然后用target属性定位到另一个frame.
    通过超连接的参数,另一页就知道入参,就可以进行相应操作了。
      

  6.   

    楼上的不可行:)你这个方法只是可以实现本框架页面的传递,不通框架的页面传递是没有办法实现的只能看看能不能用客户端。你的方法问题在于,如果先在title.aspx 中取出datagrid 中的ID,然后用session[] 或者chche[]存下来,怎么去刷新啊,如果在cs文件里面做的话,不能操作其它框架,如果在html中操作的话很难实现:)这个只是代表个人观点:)
      

  7.   

    sgp1201(无为)的方法是可以实现的。先取出title.aspx也面中的ID,然后用session[] 或者chche[]存下来,然后利用Response.Write("<script language=javascript>window.body.location.reload();</script>");实现刷新。再在Body里获取 Session[]值
      

  8.   

    CS里头同样可行,将访问另一个框架的客户端脚本Response出来啊。
      

  9.   

    用javascript,没别的办法.
    Response.Write("<script language=javascript>window.body.location.reload();</script>");
      

  10.   

    应该说这个不过是非常简单的html或者js问题。没想到在.net中竟让大家觉得这么困难。
      

  11.   

    sgp1201(无为) 说的可以,我也都是这样做的
      

  12.   

    我是用session在页面之间进行参数传递,接收方在接到参数后清空session就可以了
      

  13.   

    必须用javascript来调用body中的客户端事件来处罚
      

  14.   

    title.aspx中,当选中DataGrid的一行后,在服务器端用Response.Write("<script language=Javascript>parent.frames[1].document.location=body.aspx?id=选中的DataGrid行的id;</script>"),在body.aspx中通过Request.QueryString方法获取通过url传递的参数,然后自己该知道怎么处理了。
    注意:上面的客户端脚本无需用RegisterClientScriptBlock或RegisterStartupScript方法注册,直接用Response.Write出来,这样脚本在页面的最前方,当title.aspx刷新后加载的时候,body.aspx也同时加载了。
      

  15.   

    可以放置linkbutton,设置title.aspx中form的target=右边的框架名
      

  16.   

    同意 webdiyer(陕北吴旗娃) 的方法
      

  17.   

    <frame src="title.aspx">假设类为A,有方法fun
    <frame src="body.aspx">假设类为B,有时间eve
    现在需要B的eve事件调用A.fun
    B.eve事件里:
    {
       A a = this.Parent.Aid;//你找到a这个实例先,不管用什么方法,脚本也可以,其实最好有指针就好了
       a.fun();
    }好象我说得太简单了。其实确实很简单,不要想复杂了
      

  18.   

    我遇到的情况,希望有用
    左边是treeview,右边是datagrid,点左边刷右边
    在treeview中加了
    Tvw.Attributes.Add("onclick","gotourl();");
    <script>
    function gotourl(){
        parent.PersonTypeFrame.location.href=Tvw.getTreeNode(Tvw.clickedNodeIndex).getAttribute("NodeData");
    }
    </script>
    其中NodeData中放了,什么"xx.aspx?a=1&b=2"之类的
    在datagrid中用Response.QueryString["a"]取值就可以了
      

  19.   

    就是webdiyer(陕北吴旗娃)的方法啊
    我前两天刚做过 
      

  20.   

    private void cmd1hour_Click(object sender, System.EventArgs e)
    {

    if (gid.Length >0)
    {
    temp="Time>='"+CharDeal.GetAddTime("hour",-1)+"'";
    Response.Write(CharDeal.Topgourl("LiveTrend.aspx?gid="+gid+"&mid="+mid+"&mtype="+mtype+"&wherestr="+temp+"&mname="+mname,"main"));
    }
    else
    {
    Response.Write(CharDeal.Showmsgbox("请选择检测器"));
    }
    }
    //指定某一框架显示某页
    public static string Topgourl(string url,string framename)
    {
    string temp;
    temp="<script language=javascript >" +"\r\n";
    temp=temp+"top.frames(\""+framename+"\").location=\""+ url +"\"\r\n";
    temp=temp+"</script>";
    return temp;
    }
      

  21.   

    用webdiyer(陕北吴旗娃)的方法可行,我在交警的考试程序上实现了
      

  22.   

    title.apx 的datagrid加模版列,在模版列里加超级链接。这个超级链接的target指向body.aspx, url 用 body.aspx?id=xxxx形式。
    body.aspx根据Request["id"]来判断
      

  23.   

    datagrid点击的那一列设为连接列,然后通过参数连接到下面框架里,在下面框架里用接收到的参数绑定list
      

  24.   

    呵呵,多谢大家的参与,我采用的是 webdiyer(陕北吴旗娃) 的方法,比较方便.
    ^_^好高兴呀