首页 > 代码库 > .net中常用的几种页面间传递参数的方法
.net中常用的几种页面间传递参数的方法
1.session方便,但容易丢失;
2.application全局;
3.cookie简单,但是可能不支持,容易被伪造;
4.input type="hide"隐藏域,简单,但容易被伪造
5.url参数简单,显示与地址栏,但是长度有限;
6.数据库稳定,安全,但性能较弱;
表单提交
传递页面代码<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>表单提交</title> <script type="text/javascript" language="javascript"> function post() { forPost.action="DestinationPage.aspx"; forPost.submit(); } </script></head><body> <form id="forPost" method="post"> 方式一:表单提交<br /> <input type="text" id="SourceData2" runat="server"/> <input type="button" id="btnTransfer1" value="http://www.mamicode.com/提交" onclick="post();" /> </form> </body></html>
接收页面代码protected void Page_Load(object sender, EventArgs e){ string a = Request.Form["SourceData2"].ToString(); txt1.Value = http://www.mamicode.com/a; >
QueryString传值
传入页面代码<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>QueryString</title></head><body> <form id="form1" runat="server"> <div> <input type="text" id="txt1" runat="server" /> <input type="text" id="txt2" runat="server" /> <input type="button" id="btn1" value="http://www.mamicode.com/提交" runat="server" onserverclick="btn1_ServerClick" /> </div> </form></body></html>
protected void btn1_ServerClick(object sender, EventArgs e) { string aa = txt1.Value; string bb = txt2.Value; string url = "DestinationPage5.aspx?parameter1=" + aa + "¶meter2=" + bb; Response.Redirect(url, false); }
接收页面代码protected void Page_Load(object sender, EventArgs e)
{
txt1.Value = http://www.mamicode.com/Request.QueryString["parameter1"].ToString();
txt2.Value = http://www.mamicode.com/Request.QueryString["parameter2"].ToString();
}
链接地址传值
<a href="http://www.mamicode.com/DestinationPage6.aspx?param1=1111¶m2=2222">跳转</a>
接收页面代码protected void Page_Load(object sender, EventArgs e) { txt1.Value = http://www.mamicode.com/Request["param1"]; txt2.Value = http://www.mamicode.com/Request["param2"];}
Context传值
页面代码<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Context</title></head><body> <form id="form1" runat="server"> <div> <input type="text" id="txt1" runat="server" /> <input type="button" id="btn1" value="http://www.mamicode.com/提交" runat="server" onserverclick="btn1_ServerClick" /> </div> </form></body></html>
protected void btn1_ServerClick(object sender, EventArgs e)
{
Context.Items["value"] = txt1.Value;
Server.Transfer("DestinationPage3.aspx");
}
接收代码protected void Page_Load(object sender, EventArgs e) { string a = Context.Items["value"].ToString(); txt1.Value = http://www.mamicode.com/a;>
Cookie传值
页面代码<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Cookie</title></head><body> <form id="form1" runat="server"> <div> <input type="text" id="txt1" runat="server" /> <input type="button" id="btn1" value="http://www.mamicode.com/提交" runat="server" onserverclick="btn1_ServerClick" /> </div> </form></body></html> protected void btn1_ServerClick(object sender, EventArgs e) { string aa = txt1.Value; HttpCookie cookie = new HttpCookie("MyCookie", aa); Response.Cookies.Add(cookie); string url = "DestinationPage8.aspx"; Response.Redirect(url, false); }
接收代码protected void Page_Load(object sender, EventArgs e) { HttpCookie myCookie = Request.Cookies["MyCookie"]; txt1.Value = http://www.mamicode.com/myCookie.Value;>
Session传值
通过Session取值,在一个页面中赋值,在其他页面中共享。为避免造成Session值的混乱无序,应尽量少用Session传非公共的变量。Session比较适合用来保存一些公共变量。
页面<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Session传值</title></head><body> <form runat="server"> <input type="text" id="txt1" runat="server" /> <input type="button" id="btn1" value="http://www.mamicode.com/提交" runat="server" onserverclick="btn1_ServerClick" /> </form></body></html> protected void btn1_ServerClick(object sender, EventArgs e){ Session["value"] = txt1.Value; Response.Redirect("DestinationPage2.aspx");}
接收值protected void Page_Load(object sender, EventArgs e){ txt1.Value = http://www.mamicode.com/Session["value"].ToString();}
Application传值
此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用于计数器等需要全局变量的地方。
页面<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Application</title></head><body> <form id="form1" runat="server"> <div> <input type="text" id="txt1" runat="server" /> <input type="button" id="btn1" value="http://www.mamicode.com/提交" runat="server" onserverclick="btn1_ServerClick" /> </div> </form></body></html>protected void btn1_ServerClick(object sender, EventArgs e) { string aa = txt1.Value; Application["param1"] = aa; string url = "DestinationPage7.aspx"; Response.Redirect(url, false); }
接收protected void Page_Load(object sender, EventArgs e) { txt1.Value = http://www.mamicode.com/Application["param1"].ToString(); }
.net中常用的几种页面间传递参数的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。