今天在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);