Asp.net页面之间传递参数的几种方法

Asp.net页面之间传递参数的几种方法

第一种方法:ITPUB个人空间R:s`4eP
通过URL链接地址传递Request.QueryStringITPUB个人空间/G3Z;zZs'| `
send.aspx:ITPUB个人空间@ V.X@k7P ^L'B
   protected void Button1_Click(object sender, EventArgs e)
Zv!cSZ]6hB ?0     {
q g1bT&o1K G d*v2X0         Request.Redirect("Default2.aspx?username=honge");
&H(u%{/y)@$m4fm0     }ITPUB个人空间|bI?-V"]
 
r/SuxP:K0receive.aspx:
0u$w'L6e#[kP0string username = Request.QueryString["username"];这样可以得到参数值。

第二种方法:
&Gs6Y;|Vd$f:_D0通过post方式Request。
-{2D]:WN&[H*G |8R0send.aspxITPUB个人空间-s4p!q)V-iG5K
<form. id="form1" runat="server" action="receive.aspx" method=post>ITPUB个人空间 SCS tZ~g
     <div>
H*?.Yw$x0  <asp:TextBox ID="username" runat="server"></asp:TextBox>
nTm&|*]/2F#o]G0  //<input type="text" name="username" />ITPUB个人空间}&F3_cUZ
        <asp:Button ID="Button1" runat="server" nClick="Button1_Click" Text="Button" />ITPUB个人空间&b Srv"G*iQ+|
 </div>
)x([T0D@0</form>
~(v ^ U6V6G{0 
]:`$c2o(Q1F%{e0receive.aspx
(kl)@"ha!@0string username = Ruquest.Form["receive"];//string username = Ruquest["username"];

第三种方法:ITPUB个人空间Q v{*pZ_w(A@x
通过session
-a0?Q)R K@lzR,}D0send.aspx:
5w:Q,Lk5H?W L3n0   protected void Button1_Click(object sender, EventArgs e)
LjK4A N5DN7p;L|0     {
0vr:YkZ4S]8Y0         Session["username"] = "honge";
9S.VxU&DvRF0         Request.Redirect("Default2.aspx");
$F9p(I1rq;k0     }
"VVLAU0 ITPUB个人空间1f7tRu;c,v~xr"H
receive.aspx:
+n+l-R-d J+e0string username = Session["username"];这样可以得到参数值。

第四种方法:
;QX%lsD u4]-f+x0通过ApplicationITPUB个人空间ux3A&~W3`Y&fR
send.aspx:ITPUB个人空间-k$|%`I/cJ/KzN
   protected void Button1_Click(object sender, EventArgs e)
(OSY2Z$ruW0     {ITPUB个人空间1m T7X#CE^
         Application["username"] = "honge";ITPUB个人空间p&]XAtKN
         Request.Redirect("Default2.aspx");
v2@lj"E0     }
U n#E"Mq$h#{%gs0 ITPUB个人空间]_9f!UsiY2Xr
receive.aspx:ITPUB个人空间 i@s"e[NL
string username = Application["username"];这样可以得到参数值。

第五种方法:
b-u` mA$O0通过Server.Transfer
wh1t d _@|0send.aspx:ITPUB个人空间~,Qv0o:`rj c"V b
   public string NameITPUB个人空间!K4r(r+uDu
     {
i$i!w/R~ Tpi0         get {
U%] dJ6@Ck7o9fq"C&V0             return "honge";
+XT4l[e5?G.Q0S0         }
&G q~!c`__%ol0     }
g2Vw/r&L(P9p9{0     protected void Button1_Click(object sender, EventArgs e)
T$kT/X}"u&j0     {ITPUB个人空间4hM.@/Q*t7A%o{
         Server.Transfer("Default2.aspx");ITPUB个人空间2f'Vf"IG6e4Q
     }
dk9m[}4/e#sGI/G{0 
*om2ppL(l$D t0receive.aspx:ITPUB个人空间8C3r:R1m#KN0~Z3uA4Qa9[
    send d = Context.Handler as send ;ITPUB个人空间9b$t!p'l%Jeox
         if (d != null)
[u/ |ct0         {ITPUB个人空间1eANB:o|&]
             Response.Write(d.Name);这样可以得到参数值。ITPUB个人空间6JPd*p N#y;{
         }
m/^"P;{D2d5so0  
S#Q)|+{ T/"@K:E;A(@0如果在asp.net 2.0中还可以这样用:通过PreviousPage
0g+J0hd]C0PreviousPage d = Context.Handler as PreviousPage ;ITPUB个人空间|'I k!}6J4t
if (d != null)
uFRy`ou0         {
KPIRG0             Response.Write(d.Name);这样可以得到参数值。ITPUB个人空间./ k%[*K/:h1jy~
         }ITPUB个人空间OX(QM^$?;V
也可以这样用:ITPUB个人空间:N)QF _N,Y
send.aspx:
m@qAW"_0<asp:Button ID="btnSubmit" runat="server" PostBackUrl="~/reveive.aspx" Text="Submit" />

receive.aspx:ITPUB个人空间 s"[,c`2/-r `
<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
%lK8F!p^7x4P"Eq3B+p0string name = PreviousPage.Name;这样可以得到参数值。
:F @,{sV,yO0注意:如果你的页面中用到了MasterPage的话 Server.Transfer 传递的 PreviousPage就无效了,不知道这是什么原因.所以在用到MasterPage的话,最好用Session或是 Context.Items["username"]来实现.

第六种方法:
P-{(p%G[]0通过Cookie
pL.|,s"} ka/K0方法类似Session。

第七种方法:
.V |T"P P(G7h:N0通过ViewstateITPUB个人空间 R9@ q*_k:~nu
Viewstate使用简单,缺点是只能够在同一个页面使用,在ASP.NET2.0里这个问题可以使用Button的PostBackUrl进行解决。

第八种方法:ITPUB个人空间/hNZ-R@3v_
通过CacheITPUB个人空间$X4C/EI2? o(a-]UZ.`
Cache通常用于缓存服务端某些不常变动的数据。
F+u ^rs7N2RA!Z9P0使用Cache存储数据的场合虽然不多,但是毕竟也是一种手段,另外,在使用Cache存储DataSet时,其实还是引用而不是内容的拷贝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值