第一种:QueryString

//将源页面start.aspx中的lable 和textbox中的内容传到end.aspx页面中  并在其lable 和textbox中显示传过来的内容

   源页面代码:

 

protected void Button1_Click(object sender, EventArgs e)
    {
        string url;
        url = "end.aspx?name="+Label1.Text+"&home="+TextBox1.Text;
        Response.Redirect(url);
    } 

目标页代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        ///通过QueryString传参数
        Label1.Text = Request.QueryString["name"];
        TextBox1.Text=Request.QueryString["home"];

    }

 

第二种:通过Session传参数

源页面代码:

    protected void Button1_Click(object sender, EventArgs e)
    {
         Session["name"]=Label1.Text;
        Session["home"] = TextBox1.Text;
        Server.Transfer("end.aspx");
    }

目标页代码:

    protected void Page_Load(object sender, EventArgs e)
    {
               
        //通过Session传参数
        Label1.Text=Session["name"].ToString();
        TextBox1.Text = Session["home"].ToString();
        //应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗.

        Session.Remove("name");
        Session.Remove("home");

    }

 

第三种:使用Server.Transfer传参数

            该方法虽然麻烦,但是你可以在另一个页面以对象属性的方式来存取显露的值。

原页面代码:

public partial class start: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //使用Server.Transfer方法
        Server.Transfer("end.aspx");
    }
   

 //此处设定变量name和home的返回值,以便在目标页面中作为属性值显示
    public string name
    {
        get
        {
            return Label1.Text;
        }
    }
    public string home
    {
        get
        {
            return TextBox1.Text;
        }
    }

}

目标页代码:

 

public partial class end : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        //此处把目标页面_Default作为一个类,而name和home都为其属性值
        start wf1;
        wf1 = (start)Context.Handler;
        Label1.Text = wf1.name;
        TextBox1.Text = wf1.home;


    }
}

 

 

posted on 2009-12-02 16:24  gaochaooo  阅读(1625)  评论(2编辑  收藏  举报