Asp.net---Post&Get传值区别

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"  

onclick="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较高。

posted @ 2012-03-13 18:20  zhangmengjie  Views(813)  Comments(0)    收藏  举报