天天看點

Server.Transfer頁面跳轉傳遞控件值得解決方案

今天在CSDN上看到這個問題,特寫了個解決方案,供參考.

問題描述:在Default2.aspx頁面中點選按鈕将TextBox1控件的值傳遞到Default3.aspx頁面中去,供Default3.aspx頁面使用。

關鍵點有2點:

1、Server.Transfer("Default3.aspx", true);  //方法第二個參數為true

2、對于跳轉到的頁面的頭部要添加跳轉頁面類得引用,<%@ Reference Page="Default2.aspx"%>,如果Default2.aspx在某個檔案夾下的話,如Admin檔案夾下的話,得這樣寫:<%@ Reference Page="Admin_Default2.aspx"%>(即是該頁面類背景cs檔案的完整類名,這個得尤其注意)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

    </div>

    </form>

</body>

</html>

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    public string name

        get

        {

            return TextBox1.Text;

        }

    protected void Button1_Click(object sender, EventArgs e)

        Server.Transfer("Default3.aspx", true);

}

==========================================================================

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<%@ Reference Page="Default2.aspx"%>

public partial class Default3 : System.Web.UI.Page

        if (!IsPostBack)

            string strTxt = "";

            Default2 oForm = (Default2)this.Context.Handler;

            strTxt += "Default2頁面中TextBox1文本框中的值為:" + oForm.name + "<br>";

            Response.Write(strTxt);

繼續閱讀