当前位置:七道奇文章资讯网站建设网站编程
日期:2010-11-27 10:47:00  来源:本站整理

如安在ASP.NET网页间传送数据[网站编程]

赞助商链接



  本文“如安在ASP.NET网页间传送数据[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

重点总结
目前为止在ASP.NET网页中传送数据的方法至少有5种:
1、通过查询字符串传送数据.
2、通过HTTP POST传送数据.
3、通过会话状况传送数据.
4、通过源页的大众属性传送数据.
5、通过源页中的控件值传送数据.
到底利用哪类方法来举行数据的传送,这大概遭到两方面的影响:
1、页面重定向的方法.
2、源页和目标页能否位于相同的ASP.NET利用程序中.
假如源页和目标页位于差别的ASP.NET利用程序中则只能通过查询字符串和HTTP POST传送数据.
而假如源页和目标页位于相同的ASP.NET利用程序中,则可以利用五种方法中的肆意一种.

1、通过查询字符串传送数据
下面的两个URL,第一个只传送了产品编号,第二个不但传送了产品编号,同时也传送产品名称.
http://localhost/Demo/DestinationPage.aspx?ProductID=777
http://localhost/Demo/DestinationPage.aspx?ProductID=777&ProductName=Glass

在目标页中则可以通过Page.Request.QueryString 属性来获得查询字符串中传送的键值.比方下面的代码:

1 this .Response.Write( this .Request.QueryString[ "ProductID" ]);
2 this .Response.Write( "<br />" );
3 this .Response.Write( string .Format( "ProductID={0} ProductName={1}" ,
4 this .Request.QueryString[ "ProductID" ],
5 this .Request.QueryString[ "ProductName" ]));

2、通过HTTP POST传送数据
此示例代码在源页中,为用户供应了输入用户名、生日和年纪的文本框,并且将Button控件的PostBackUrl 属性设置为DestinationPage.aspx.也就是说当单击【提交到目标页】按钮后,源页窗体的数据会被传送到DestinationPage.aspx页面.
在目标页中则通过Page.Request.Form 属性来获得这些传送过来的数据.
源页的页面源码以下:

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

03 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
04 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
05 < html xmlns = " http://www.w3.org/1999/xhtml " >
06 < head runat = "server" >
07 < title >源页!</ title >
08 </ head >
09 < body >
10 < form id = "form1" runat = "server" >

11 < div >
12 User Name :

13 < asp:TextBox ID = "UserNameTextBox" runat = "server" ></ asp:TextBox >
14 < br />

15 Birth Date :
16 < asp:TextBox ID = "BirthDateTextBox" runat = "server" ></ asp:TextBox >

17 < br />
18 Age :

19 < asp:TextBox ID = "AgeTextBox" runat = "server" ></ asp:TextBox >
20 < br />

21 < asp:Button ID = "SubmitButton" runat = "server" Text = "提交到目标页"
22 PostBackUrl = "~/DestinationPage.aspx" />

23 </ div >
24 </ form >

25 </ body >
26 </ html >


目标页中获得源页窗体数据的代码以下:

01 protected void Page_Load( object sender, EventArgs e)
02 {

03 StringBuilder SBuilder = new StringBuilder();
04 NameValueCollection PostedValues =

05 this .Request.Form;
06

07 for ( int Index = 0; Index < PostedValues.Count; Index++)
08 {

09 if (PostedValues.Keys[Index].Substring(0, 2) != "__" )
10 {

11 SBuilder.Append( string .Format( "{0} = {1}" ,
12 PostedValues.Keys[Index],

13 PostedValues[Index]));
14 SBuilder.Append( "<br />" );

15 }
16 }

17
18 this .Response.Write(SBuilder.ToString());

19 }


代码中的if语句主如果为了避免获得以两个下划线__开首的躲藏字段的数据,比方__VIEWSTATE、__EVENTTARGET、__EVENTARGUMENT.当然也可以去掉这个if语句,然后就可以同时获得这些躲藏字段的数据了.

  以上是“如安在ASP.NET网页间传送数据[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 如安在Access2007 表中同时显示明细、小计、总计?
  • 如安在ASP.NET网页间传送数据
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .