因为在项目中需要在两个页面之间传递一些参数,所以总结出以下几个传递参数的方法: 第一种方法: 通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: string username = Request.QueryString["username"];这样可以得到参数值。
第二种方法: send.aspx <form ];
第三种方法: send.aspx: protected void Button1_Click(object sender, EventArgs e) { Session["username"] = "honge"; Request.Redirect("Default2.aspx"); } receive.aspx: string username = Session["username"];这样可以得到参数值。
第四种方法: send.aspx: protected void Button1_Click(object sender, EventArgs e) { Application["username"] = "honge"; Request.Redirect("Default2.aspx"); } receive.aspx: string username = Application["username"];这样可以得到参数值。
第五种方法: send.aspx: public string Name { get { return "honge"; } } protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("Default2.aspx"); } receive.aspx: send d = Context.Handler as send ; if (d != null) { Response.Write(d.Name);这样可以得到参数值。 }
如果在asp.net 2.0中还可以这样用:
PreviousPage d = Context.Handler as PreviousPage ; if (d != null) { Response.Write(d.Name);这样可以得到参数值。 } 也可以这样用: send.aspx: <asp:Button ID="btnSubmit" runat="server" PostBackUrl="~/reveive.aspx" Text="Submit" /> receive.aspx: <%@ PreviousPageType VirtualPath="~/Default.aspx" %> string name = PreviousPage.Name;这样可以得到参数值。
补充:在datalist或repeater控件等数据绑定控件中
<a href="article.aspx?Id=<%#DataBinder.Eval(Container.DataItem,"article_Id") %>" target="_blank">//转到链接页面同时传参ID,ID为数据库中的字段;
|
请发表评论