public struct A
 {
     public string A1;
     public string A2;
     public int    A3;
  }Void GridView_SelectIndexChanging(object sender,Grid... e)
{
   A x =new A();
    x.A1=....;
    x.A2=....;
    x.A3=....;
   Session["Info"]=x;
   response.redirect("DetailInfo.aspx");
}请问在跳转后的页面 DetailInfo.aspx中,我该怎么引用 结构体中的每一个元素值 ? 用Session保存可以吗?   
会的帮忙,在线等。.......

解决方案 »

  1.   

    asp.net的Session好象只能记录字符串对象
    也就是说,如果你Session("Info") = x;
    然后在A a =(A)x;的话,肯定会出错你只能用session记录结构里的每个值(个人认为)
      

  2.   

    Session只能赋值变量,不能赋值结构,应该:
    Session["Info1"]=A1;
    Session["Info2"]=A2;
    Session["Info3"]=A3;
    然后在DetailInfo.aspx页中
    string a=Session["Info1"];
    string b=Session["Info2"];
    int c=Session["Info3"];
    就可以了
      

  3.   

    Session可以存对象,调用的方法
    A structA = Session["Info1"] as A
    if (structA != null)
    {
        ...... //引用的代码
    }
      

  4.   


    按照楼主的思路,跳转页面:
    DetailInfo.aspx.cs
    using 含有结构A的命名空间 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {            if (Session["Info"] != null)
                {
                    A a= (A)Session["Info"];
                }
    }
      private void B(A a)
     {
        string x=a.A1;
        string y=a.A2;
        int z=a.A3=;
    }
      

  5.   

    Response.Redirect("~/ffff.aspx");就跳到那页了
      

  6.   

    Pre.aspx中怎么定义namespace ? end.aspx中又怎么引用Pre.aspx中的namespace ?
      

  7.   

    把public struct A
     {
         public string A1;
         public string A2;
         public int    A3;
      }
    写到类里,然后用一个方法赋值并返回struct