有一个页面时嵌在框架里面的<frameset></frameset> 怎么让框架里面的这个页面获得另外一个页面传过来的参数啊比方说 这个框架是左右a。aspx 和b.aspx 组成  b.aspx要获得c.aspx传过来的参数    是通过链接传过来的 像:C页面有一个<a href='b.aspx?id=1'> </a>(不知道这样写对不对,因为链接的是要显示这个框架的页面)  但是最后浏览的是框架的页面   也就像点击c页面直接显示框架页面 框架的b页面得到参数 我该怎么做?谢谢各位

解决方案 »

  1.   

    cookie querystring 都可以。
      

  2.   

    b.aspx
    public string id {get {return Request.Querytring["id"].ToString();}}
    id=<%=id%>
      

  3.   

    例如:
    Response.Write( " <script> parent.f1.location.href= 'up.aspx?hid= "+   hid   + " ' </script> "); 
      

  4.   


    除了cookie 和session呢?
      

  5.   

    楼主
    像这样写可以..<frame src="b.aspx?id=<%= Request.Querytring["id"].ToString()%"></frame>
      

  6.   

     Request.Querytring["id"].ToString()
      

  7.   

    <frame src="b.aspx?id=<%= Request.Querytring["id"].ToString()%"></frame>
      

  8.   

    ASP.NET页面之间传值的五种常用方法1、使用QueryString变量
         QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。
         优点:1)使用简单,对于安全性要求不高时传递数字或是文本值非常有效。
         缺点:1).缺乏安全性,由于它的值暴露在浏览器的URL地址中的。
                 2).不能传递对象。
         用途:后台管理页中,获取修改信息的ID
         实例:
         a.aspx的C#代码
    1 private void Button1_Click(object sender, System.EventArgs e) 
    2 { 
    3      string s_url; 
    4      s_url = "b.aspx?name=" + Label1.Text; 
    5      Response.Redirect(s_url); 
    6 } 
       b.aspx中C#代码                                                                                                                             
    1 private void Page_Load(object sender, EventArgs e) 
    2 { 
    3       Label2.Text = Request.QueryString["name"]; 
    4 }
     
     2、使用Application 对象变量
          Application变量在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取。它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量。
          举个例子来解释:
          网站访问的计数器变量一般采用Application变量,多个请求访问时共享这一个变量,均可对它进行操作,该变量可以被整个应用程序的各个页面直接使用。
          用户登陆的帐号名一般采用Session变量,多个请求访问时有各自的Session变量,只能对自己的该Session变量进行操作,整个应用程序的各个页面直接使用这个变量来获得用户的基本信息。
          优点:1).使用简单,消耗较少的服务器资源。
                  2).不仅能传递简单数据,还能传递对象。
                  3).数据量大小是不限制的。
          缺点:1).作为全局变量容易被误操作。
          用途:网站访问的计数器变量一般采用Application变量。
          实例:
          a.aspx的C#代码
    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3      string Name1Value = "HelloName1";  
    4      int Name2Value = 1234567;
    5      Application["Name1"] = Name1Value;
    6      Application["Name2"] = Name2Value;  
    7 }
        b.aspx中C#代码
    1 private void Page_Load(object sender, System.EventArgs e)
    2 {
    3      string myName1Value;
    4      int myName2Value;
    5      myName1Value = Application["Name1"].ToString();
    6       myName2Value = (int)Application["Name2"];
    7 }
      
    3、使用Session变量
         这个应该是最常见的方法了!Session用于保存每个用户的专用信息.她的生存期是用户持续请求时间再加上一段时间(默认是20分钟).Session变量和Application变量非常类似,它们的区别也已经在上面关于Application变量时提到了。
         优点:1).使用简单,不仅能传递简单数据类型,还能传递对象。
                 2).数据量大小是不限制的。
         缺点:1).在Session变量存储大量的数据时会消耗较多的服务器资源。
         用途:会员和管理员登陆时的用户名采用Session变量保存,还有验证码也可采用Session变量保存,从而与用户输入的值进行比较
         实例:
         a.aspx的C#代码
    1 private void Button1_Click(object sender, System.EventArgs e) 
    2 { 
    3       Session["name"] = Label.Text; 
    4 } 
        b.aspx中C#代码
    1 private void Page_Load(object sender, EventArgs e) 
    2 { 
    3      string name; 
    4      name = Session["name"].ToString(); 
    5 } 
     
     4、使用Cookie对象变量
         这个也是大家常使用的方法,与Session一样,Cookie对象也是对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。
         优点:1).使用简单,是保持用户状态的一种非常常用的方法。
         缺点:1).常常被人认为用来收集用户隐私而遭到批评。
         用途:在购物网站中用户跨多个页面表单时可以用它来保持用户状态。
         实例:
         a.aspx的C#代码
    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3      HttpCookie objCookie = new HttpCookie("myCookie","Hello,Cookie!");
    4      Response.Cookies.Add(objCookie);  
    5 }
        b.aspx中C#代码
    1 private void Page_Load(object sender, System.EventArgs e)
    2 {
    3      string myName1Value;
    4      myName1Value = Request.Cookies[ "myCookie" ].Value;
    5 }5、使用Server.Transfer方法
         Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通Context.Handler来获得前一个页面传递的各种数据类型的值、表单数据、QueryString.由于重定向完全在服务器端完成,所以客户端浏览器中的URL地址是不会改变的。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
         优点:1).直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求。
                 2).可以传递各种数据类型的值和控件的值。
         缺点:1).客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的图片、超链接都会导致错误的指向。
         实例:
         a.aspx的C#代码
    1 public string Name 
    2 { 
    3      get{ return Label1.Text;} 
    4 } 
    5  private void Button1_Click(object sender, System.EventArgs e) 
    6 { 
    7      Server.Transfer("b.aspx"); 
    8 } 
        b.aspx中C#代码
    1 private void Page_Load(object sender, EventArgs e) 
    2 { 
    3      a newWeb; //实例a窗体 
    4     newWeb = (source)Context.Handler; 
    5      string name; 
    6       name = newWeb.Name; 
    7 }  
    Cookies集合具有以下几种属性 1.Expires属性:此属性用来给Cookies设置一个期限,在期限内只要打开网页就可以调用被保存的Cookies,如果过了此期限Cookies就自动被删除。如: 设定Cookies的有效期到2004年4月1日,到时将自动删除。如果一个Cookies没有设定有效期,则其生命周期从打开浏览器开始,到关闭浏览器结束,每次运行后生命周期将结束,下次运行将重新开始。 2.Domain属性:这个属性定义了Cookies传送数据的唯一性。若只将某Cookies传送给搜狐主页时,则可使用如下代码: 3.Path属性:定义了Cookies只发给指定的路径请求,如果Path属性没有被设置,则使用应用软件的缺省路径。 4.Srcure属性:指定Cookies能否被用户读取。 5.Haskeys属性:如果所请求的Cookies是一个具有多个键值的Cookies字典,则返回True,它是一个只读属性。 
      

  9.   


    哪传值那个页的链接怎么写呢?<a href="kuanjia.aspx?id=1">链接</a> 这样框架那个页的b页面可以得到值吗?
      

  10.   

    b页面怎么得到这个id啊? 我试了下 好像得不到这个值