Request对象--&Post&Get页面传值
共3个页面,main1.aspx,get.aspx和 post.aspx
1.post.aspx(只有html代码)
<form id="form1" action="main.aspx" method="post" >
<div> <input id="Text1" type="text" name="t1" /><br />
<input id="Text2" type="text" name="t2" /><br />
<input id="Button1" type="button" value="button"
οnclick="return Button1_onclick()" /><br />
2.main1.aspx
protected void Page_Load(object sender, EventArgs e)
{//post方法
string username = Request.QueryString["name"].ToString();
string pwd = Request.QueryString["pass"].ToString();
Response.Write("<font size=18>欢迎" + username + ",密码是:" + pwd + "</font>");
//get方法 //string username=Request.Form["t1"].ToString();
//string pwd=Request.Form["t2"].ToString();
//Response.Write("<font size=18>欢迎"+username+",密码是:"+pwd+"</font>");
3.get.aspx
protected void Button1_Click(object sender, EventArgs e)
{ Response.Redirect("main.aspx?name="+this.TextBox1.Text+"&pass="+this.TextBox2.Text); }
总结:
1.页面传值方法
<1>.利用表单传递数据/Post方法(写的是html代码);
获取表单的字段值语法:Request.Form["控件name属性"]; 可以省略为Request["控件name属性"];
使用Post方法需注意:
1.Form窗体不能运行在服务器端,要把runat=server要去掉,需要在<form>标记中添加action属性,将标记中的method属性设置为post;
2:控件要使用HTML控件
3:获取值的页面只识别控件的name属性,所以需要对控件需要添加name属性
<2>.使用URL传值/Get方法(写的是C#代码)
Request.QueryString["字段名称"];
Get传值时的注意事项:
1:转链接时由“?”将转链接网址分为两个部分,前半部分为网址,后半部分为传递的字符串(变量名与值的组合)
2:若需要传递多个值,则将这些键值使用“&”隔开
2. Post方法与Get方法的区别:
<1>.get是通过url请求来传递数据,数据会直接显示在url上,post是通过HTTPpost机制,其内容在header里,处理过程用户无法看到。
<2>.get是从服务器来获取数据,post是向服务器传送数据。
<3>.get传输数据量很小,限制在2kB左右。post传输量相对较大,不过也有字节限制。
<4>.get安全性很低,post安全性较高,但是执行效率get较高。
分享链接http://www.cnblogs.com/zhangmengjie/archive/2012/03/13/2394290.html