如题!

解决方案 »

  1.   

    parent.rightframsetname.doucment.all.contyolname.value = leftvalue
      

  2.   

    parent.rightframsetname.doucment.all.contyolname.value = leftvalue你这代码在什么地方写?
      

  3.   

    URL传递的话,和以前一样request
      

  4.   

    假设你想在用户点击一个超链接后传值。一种是通过Url QueryString传值:
    <a href='#' onclick='parent.rightframsetname.location="aaa.aspx?id=leftvalue"'>Pass Value</a>另一种是直接修改另一框架内的控件的值:
    <a href='#' onclick='parent.rightframsetname.document.all.contyolname.value = leftvalue;'>Pass Value</a>还有一种就是在右框架页面里面定义一个函数,如function SetValue(theValue);,然后在左框架里面调用:
    <a href='#' onclick='parent.rightframsetname.SetValue(leftvalue);'>Pass Value</a>
      

  5.   

    最后一种方法最为灵活,你可以在页面中通过javascript函数定义的方式实现一个接口,通过这组统一的接口来传递任意类型的数据,并进行灵活的处理,可扩展性非常强大
      

  6.   

    不过跨框架的调用并不总是能够成功的,比方说你用IE 6加载一个左框架为"http://localhost/a.html",右框架为"http://msdn.microsoft.com"的框架页面(也就是说2个框架中的页面属于不同的域),并且试图从左框架去访问右框架的详细内容,这个时候就会失败,原因是IE会检测到这种具有攻击性的行为(因为你完全可能是一个想要跨站点偷数据的黑客,想要读取或者重写其它站点页面中的cookie等内容),并且给你"Access Denied"的消息,阻止代码的执行。所以要考虑仔细啰^_^
      

  7.   

    1页面间传参的常用方式
    1)request方式:仅适用于一个或多个字符串
      Response.Redirect("webform2.aspx?myid=123&myname=eddie005");
      取: string myID = Request.QueryString["myid"];
           string myName = Request.QueryString["myname"];
    但是该方法传参遇到特殊的字符例如“”&、“+”等就会有问题,所以需要进行编码转换:
    string tmpID = Server.UrlEncode("123");
             string tmpName = Server.UrlEncode("暴&走");
    Response.Redirect("webform1.aspx?myid=" + tmpID + "&myname=" + tmpName);
    取: string myID = Server.UrlDecode(Request.QueryString["myid"]);
               string myName = Server.UrlDecode(Request.QueryString["myname"]);
    对应的Javascript函数是escape()和unescape()2)Session:适用于对象
      存:Session["myTable"] = new DataTable();
      取:DataTable tmp = Session["myTable"] as DataTable;3)Server.Transfer:适用于对象
    webForm1:
          public int MyAge
            {
                get{return Convert.ToInt32(TextBox1.Text);}
            }
            public DataTable MyTable
            {
                get{return myDataTable;}
            }        private void Button1_Click(object sender, System.EventArgs e)
            {
                Server.Transfer("webForm2.aspx");
        }
    webForm2:
       private void Page_Load(object sender, System.EventArgs e)
            {
                if(!IsPostBack)
                {
                    if(Context.Handler.ToString()=="ASP.webForm1_aspx")
                    {
                        webForm1 webForm =(webForm)Context.Handler;
                        int myAge = webForm.MyAge;
                        DataTable tmpTable = webForm.MyTable;
                    }
                }
       }
      

  8.   

    sdav(ASP.net学习中) ,你的回答有点文不对题了,这3种方法都不能实现跨框架传递数据(第一种方法改写一下有可能)
      

  9.   


    定义:
    LeftFrame :Lfet.aspx
    RightFrame: Right.aspx
    在LeftFrame写:
    Page.RegisterStartupScript("ok","<script language=javascript>window.parent.RightFrame.location.href = 'Right.aspx?参数="+值+"';</script>");
    这样就把Left的值传到Right了