Asp net Web页面之间传值问题研究.docx

上传人:b****2 文档编号:1241388 上传时间:2022-10-19 格式:DOCX 页数:6 大小:16.71KB
下载 相关 举报
Asp net Web页面之间传值问题研究.docx_第1页
第1页 / 共6页
Asp net Web页面之间传值问题研究.docx_第2页
第2页 / 共6页
Asp net Web页面之间传值问题研究.docx_第3页
第3页 / 共6页
Asp net Web页面之间传值问题研究.docx_第4页
第4页 / 共6页
Asp net Web页面之间传值问题研究.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

Asp net Web页面之间传值问题研究.docx

《Asp net Web页面之间传值问题研究.docx》由会员分享,可在线阅读,更多相关《Asp net Web页面之间传值问题研究.docx(6页珍藏版)》请在冰豆网上搜索。

Asp net Web页面之间传值问题研究.docx

AspnetWeb页面之间传值问题研究

AWeb页面之间传值问题研究

摘要:

在A程序中,各个Web页面是相互孤立的,信息不能进行传递,如何高效地交换数据,是一个值得研究的问题。

Web页面之间传值的方法较多,但多数对性能消耗较大,利用MicrosoftVisualStudio2010开发平台,精选出三种性能高效的传值方法。

  关键词:

Web程序开发;Web页面传值

  0引言

  AWeb页面之间传值有多种方法,性能好的Web传值方法有以下3种。

  1查询字符串

  所谓查询字符串,是采用?

name=wupingui之类的写法,在这一URL中,从问号(?

)开始到结尾的部分就是查询字符串。

  在网页之间相互跳转,常常需要传值,如何传值就需要使用查询字符串,其代码如下:

  

  在上述的url中,查询字符串有两个字段,一个字段是name,另外一个字段是salary,不论目标网页是相同Web应用程序中的网页还是外部网站的网页,查询字符串都可以顺利运行,而且目标网页不限于网页。

不过当目标网页是一个网页时,可以在目标网页中使用HttpRequest对象的QueryString属性来读取查询字符串的字段值。

  在vs2010中新建一个页面employee.aspx,在页面上放置两个lable、两个TextBox和一个Button

  

  在该页面的Button1_Click事件中增加以下代码:

  protectedvoidButton1_Click(objectsender,EventArgse)

  {

  stringname=this.TextBox1.Text;

  stringsalary=this.TextBox2.Text;

  Response.Redirect("salary.aspx?

name="+name+"&salary="+salary+"",true);

  }

  在页面salary.aspx页面Page_Load事件上增加以下代码:

  protectedvoidPage_Load(objectsender,EventArgse)

  {

  if(!

IsPostBack)

  {

  stringname=Request.QueryString["name"].ToString();

  stringsalary=Request.QueryString["salary"].ToString();

  Response.Write(“姓名为:

”+name+"");

  Response.Write(“工资为:

”+salary);

  }

  }

  在页面employee.aspx中,姓名文本框中输入wupingui,在工资文本框中输入2500。

点击用查询字符串传值按钮,跳转到页面salary.aspx,运行结果为:

姓名为:

wupingui;工资为:

2500。

  

  2Server.Transfer

  

  用查询字符串传值的数量大小受到限制,也IE6为例,URL最多只许含有2048个字符。

然而用Server.Transfer传值则没有此限制。

  

  输入代码如下:

  //获取窗体的数据集合

  publicNameValueCollectionTicketData

  {

  get

  {

  returnRequest.Form;

  }

  }

  //车次

  string_TrainNumber;

  publicstringTrainNumber

  {

  get{return_TrainNumber;}

  set{_TrainNumber=value;}

  }

  //起点站

  string_StartStation;

  publicstringStartStation

  {

  get{return_StartStation;}

  set{_StartStation=value;}

  }

  //终点站

  string_EndStation;

  publicstringEndStation

  {

  get{return_EndStation;}

  set{_EndStation=value;}

  }

  //预订时间

  DateTime_BookDate;

  publicDateTimeBookDate

  {

  get{return_BookDate;}

  set{_BookDate=value;}

  }

  //学生ID

  int_StudentId;

  publicintStudentId

  {

  get{return_StudentId;}

  set{_StudentId=value;}

  }

  //联系方式

  string_Phone;

  

  publicstringPhone

  {

  get{return_Phone;}

set{_Phone=value;}

  }

  //备注

  string_Remark;

  

  publicstringRemark

  {

  get{return_Remark;}

  set{_Remark=value;}

  }

  

  protectedvoidButton1_Click(objectsender,EventArgse)

  {

  TrainNumber="T9";

  StartStation=“重庆”;

  EndStation=“北京”;

  BookDate=Convert.ToDateTime("2011/05/01");

  StudentId=30111;

  Phone="12345678";

  Remark=“我马上要去北京”;

  Server.Transfer("ServerTransfer01_Target.aspx");

  }

  将在另外一个页面ServerTransfer01_Target.aspx接收其信息:

  其代码如下:

  ServerTransfer01frmSource;

  protectedvoidPage_Load(objectsender,EventArgse)

  {

  if(!

IsPostBack)

  {

  frmSource=(ServerTransfer01)(HttpContext.Current.Handler);

  NameValueCollectiondata=frmSource.TicketData;

  txtTrainNumber.Text=data["txtTrainNumber"];

  txtStartStation.Text=data["txtStartStation"];

  txtEndStation.Text=data["txtEndStation"];

  txtBookDate.Text=data["txtBookDate"];

  txtStudentId.Text=data["txtStudentId"];

  txtPhone.Text=data["txtPhone"];

  txtRemark.Text=data["txtRemark"];

  

  LblTrainNumber.Text=frmSource.TrainNumber;

  LblStartStation.Text=frmSource.StartStation;

  LblEndStation.Text=frmSource.EndStation;

  LblBookDate.Text=Convert.ToString(frmSource.BookDate);

  LblStudentId.Text=Convert.ToString(frmSource.StudentId);

  LblPhone.Text=frmSource.Phone;

  LblRemark.Text=frmSource.Remark;

  }

  }

  

  3PreviousPages

  打开MicrosoftVisualStudio2010,点击“文件”→“新建”→“项目”→“Web”→“新建项”→“ASP.NET空Web应用程序”,在名称框中输入“Previous”,点击确定。

  在项目“Previous”中右击鼠标,选择“添加”→“新建项”→“Web窗体”,在名称框中保持默认值:

“WebForm1.aspx”。

同样操作增加WebForm2.aspx页。

  在单击事件中输入代码如下:

  protectedvoidButton1_Click(objectsender,EventArgse)

  {

  Server.Transfer("WebForm2.aspx");

  }

  声明属性如下:

  publicstringName

  {

  get{return“这是我的姓名”;}

  }

  在界面WebForm2.aspx的标记试图在div标记中输入html代码如下:

  <%@PreviousPageTypeVirtualPath="~/WebForm1.aspx"%>

  在界面WebForm2.aspx的程序加载事件输入代码如下:

  

  protectedvoidPage_Load(objectsender,EventArgse)

  {

  if(Page.PreviousPage!

=null)

  {

  //取得源网页控件Label1的属性值;

  

  this.Label1.Text="Label1上的值:

"+((Label)(this.PreviousPage.FindControl("Label1"))).Text;

  //取得源网页控件TextBox1的属性值;

  this.Label2.Text="TextBox1的值:

"+((TextBox)(this.PreviousPage.FindControl("TextBox1"))).Text;

  //取得源网页上属性的值

  th

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1