如何在两个页面之间传递数据集???请详细一点

解决方案 »

  1.   

    用session也可以传递,不过取出来时要进行类型转换
      

  2.   

    数据集,内容多的话就用session吧,类型转换还是很容易的
      

  3.   

    常规方法有session
    如:第一个页面中session["id"]=3;
    再下一个页面用
    if(session["id"]!=null)
    {
       int a=Convert.ToInt32(session["id"]);
    }
    以上的做法占用服务器内存,常规不是很重要的信息不推荐这样做.一般现在常规的方法有QueryString,这个方法普遍给人接受,
    现在我们来演示下具体的做法,
    <a href="Default2.aspx?id=3">下一页</a>取值的方法为:
    Label1.Text = Request.QueryString["id"].ToString();
      

  4.   

    可以采用ASP.NET 2.0提供的跨页传送这个新的特性。下面是一个小例子,找到上一个页面的一个控件,楼主可以举一反三,来传递DaataSet,具体的楼主可以到我的博客看一下:http://blog.csdn.net/oyjd614/archive/2007/11/04/1866644.aspx
    A页面:
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <div>
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" PostBackUrl="~/CrossPost.aspx"
                    Text="Button" ValidationGroup="ww" />
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage='<bgsource src="C:WindowsMediaWindows XP Error.wav">'
                      SetFocusOnError="True" ControlToValidate="TextBox1" EnableClientScript="TRUE" ValidationGroup="ww">*</asp:RequiredFieldValidator>
                <br />
                <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton></div>
        </form>
    </body>
       public TextBox UserName
        ...{
            get
            ...{
                return TextBox1;
            }
        }
    B页面,假设目前有两个页面A和B,要想让B页面获取到A页面的值,需要在B页面上的设置<%@ PreviousPageType VirtualPath="~/Default.aspx" %>, protected void Page_Load(object sender, EventArgs e)
        ...{
            if (!IsPostBack)
            ...{
                if (PreviousPage!=null && PreviousPage.IsCrossPagePostBack)
                ...{
                    Response.Write("跨页传值:" + PreviousPage.UserName.Text);
                    //Response.Write("<script language=javascript>alert('跨页传的值为:" + PreviousPage.UserName.Text + "');</script>");
                }
                else
                ...{
                    Response.Write("普通的页面转换,不是跨页!");
                    
                }
            }
            
          
        }