時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)
除了常用的Get,Post,Session,Application等頁(yè)面間可傳遞參數(shù)的方法,還有新的方法,這應(yīng)該是Asp.net獨(dú)有的吧
B頁(yè)面取A頁(yè)面的值
頁(yè)面A代碼
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string F
{
get { return this.TextBox1.Text.ToString(); }
set { this.TextBox1.Text = value; }
}
public string M
{
get { return this.TextBox2.Text.ToString(); }
set { this.TextBox2.Text = value; }
}
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("Default2.aspx");
// 注意下,地址欄沒(méi)變
//用Response.Redirect不行……
//Response.Redirect("Default2.aspx");
//這的解釋http://topic.csdn.net/t/20051227/21/4484983.html
}
}
頁(yè)面B的代碼
Code
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Default s;
if (Context.Handler is Default)
{
s = (Default)Context.Handler;
Label1.Text = s.F + "---"+ s.M;
}
}
}
應(yīng)該注意到,頁(yè)面Default.aspx.cs本身就是一個(gè)類(lèi),這樣的話可以在頁(yè)面二中直接使用這個(gè)類(lèi),將頁(yè)面一需要傳遞的參數(shù)
封裝一下,供外界訪問(wèn)
一個(gè)頁(yè)面接受多個(gè)頁(yè)面?zhèn)鬟f的參數(shù),對(duì)結(jié)果統(tǒng)一處理
1.新建參數(shù)類(lèi)及接
/**////
///QueryParams 的摘要說(shuō)明
///
public class QueryParams
{
private string staDate;
private string endDate;
/**////
/// 開(kāi)始時(shí)間
///
public string StaDate
{
get { return this.staDate; }
set { this.staDate = value; }
}
/**////
/// 結(jié)束時(shí)間
///
public string EndDate
{
get { return this.endDate; }
set { this.endDate = value; }
}
}
/**////
/// 定義查詢(xún)接口。
///
public interface IQueryParams
{
/**////
/// 參數(shù)
///
QueryParams Parameters{get;}
}
#p#副標(biāo)題#e#
2.多個(gè)頁(yè)面中要繼承該接口
public partial class Default3 : System.Web.UI.Page,IQueryParams
{
private QueryParams param;
public QueryParams Parameters
{
get
{
return param;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
param = new QueryParams();
param.StaDate = this.TextBox1.Text.ToString();
param.EndDate = this.TextBox2.Text.ToString();
Server.Transfer("Default4.aspx");
}
}
3.別的頁(yè)面同樣處理
4.統(tǒng)一處理頁(yè)面
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
QueryParams queryParams = new QueryParams();
IQueryParams queryInterface;
//實(shí)現(xiàn)該接口的頁(yè)面
//與Default2.asp相比,主要是Context.Handler的類(lèi)型不同
if (Context.Handler is IQueryParams)
{
queryInterface = (IQueryParams)Context.Handler;
queryParams = queryInterface.Parameters;
}
Label1.Text = "StaDate:" + queryParams.StaDate + "
EndDate:" + queryParams.EndDate;
}
}
注意下"Response.Redirect(url)和Server.Transfer(url)的用法"是不同的……
還有"Context.Handler"
關(guān)鍵詞標(biāo)簽:Asp.net
相關(guān)閱讀
熱門(mén)文章 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 鐘離圣遺物推薦-原神鐘離圣遺物詞條 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯(cuò)誤 使用aspnet_regiis.exe 重新注冊(cè).NET Framework
人氣排行 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 asp.net表單提交方法GET\POST 在ASP.NET中如何判斷用戶(hù)IE瀏覽器的版本 Asp.net中messagebox的實(shí)現(xiàn)方法 Asp.net中的web.config配置 在ASP.NET MVC中實(shí)現(xiàn)大文件異步上傳 asp.net獲取URL和IP地址 FileUpload上傳多文件出現(xiàn)錯(cuò)誤的解決方法