在global頁面裡初始化一個session變量,然後自己可以在需要賦值的頁面對session變量進行賦值
2.通過Context傳值,在傳送頁面之前,將需要傳遞到其他頁面的值存在Context中。示例代碼如下:
傳送頁面 //點擊某個button點擊事件時觸發
private void btnTransfer_ServerClick(object sender, EventArgs e)
{
Context.Items["SourceData"]=SourceData.Value;
Server.Transfer("DestinationPage.ASPx");
}
接收頁面
string a=Context.Items["SourceData"].ToString();
3.通過Server.Transfer的方式。
這個方式在方法三種已經用到了,不過可以在調用頁面為要傳遞到被調用頁面的值創建屬性(當然可以直接將它設成public),這樣就可以在其他頁面訪問了。
傳送頁面 //要傳送的值
private System.Web.UI.HtmlControls.HtmlInputText SourceData;
public string getSourceData
{
get
{
return SourceData.Value;
}
}
//傳送頁面
Server.Transfer("DestinationPage.ASPx");
接收頁面
private SourceClass sourcePage;
sourcePage=(SourceClass)Context.Handler;
string aa=sourcePage.getSourceData;
以上就是Post的在不同頁面傳遞數據的方式了。
下面是get方法
我常用的是 傳送頁面
string aa=SourceData.Value;
string bb=SourceData.Value;
string url="DestinationPage.ASPx?parameter1="+aa+"¶meter2="+bb;
Response.Redirect(url,false);
接收頁面
string aa=Request.QueryString["parameter1"].ToString();
string bb=Request.QueryString["parameter2"].ToString();
至於 Response.Redirect(url,false)裡的false都是Response.End()這個方法惹的禍,老蓋說,寫成false就好了,因為默認是true。我都轉向其他頁面了,還不讓我終止原來頁面的響應,BT!