您的位置:首页 > 其它

Form的method方法get和post的区别

2010-08-05 23:04 363 查看
HTML表单的提交方式
<form action="接收数据页面" method="post">HTML表单里用的是HTML控件。
对于一个普通HTML表单来说,它有两个重要的属性:action和method。 action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者servlet或者CGI(Common Gateway Interface),在asp.net里面一般都是都aspx页面来处理。 method属性指明form表单的提交方式。它有两个可能值get和post。

服务器端表单
服务器端表单与HTML表单相比,多了一个runat=”server”标记,如: <form id="form1" runat="server">
在服务器端表单里可以不用指定action属性,表示由当前页面处理,也可以不指定method属性,默认为post方式提交表单。在服务器端表单里,我们不光可以使用HTML控件,还可以使用HTML服务器控件,还可以使用asp.net控件。 另外需要注意的是,在一个asp.net页面中可以有多个不带
runat=”server”标记的表单,但是只能有一个服务器端表单。

一、get方式:

<form id="form1" runat="server" method="get">

注意取值

protected void btnSubmit_Click(object sender, EventArgs e)
{
//Request.Form取不到值
//string strName=Request.Form["txtName"];
//string strPasWord=Request.Form["txtpassWord"];

// Request和Request.QueryString都可以取到值
string strName = Request["txtName"];
string strPasWord = Request["txtpassWord"];
//string strName = Request.QueryString["txtName"];
//string strPasWord = Request.QueryString["txtpassWord"];
this.Label3.Text ="用户名:"+strName + " " + "密码:"+strPasWord;
Server.Transfer("info.aspx?name=" + strName + "&password=" + strPasWord);
//Response.Redirect("info.aspx?name=" + strName + "&password=" + strPasWord);
}

Server.Transfer和Response.Redirect实现页面跳转的区别

Redirect方式



中文和数字有区别,数字直接显就出来,Redirect方式get和post方法没有区别。

Transfer方式



但Transfer方式,get和post方法有区别,请看上面get和post区别,默认是采用post方式
===================

总结:
(1)get方式提交的表单在地址栏会显示参数名和参数值,而post方式不会。
(2)同于浏览器地址栏能输入的最大字符数有限制,所以用get方式提交不能处理参数值还更的表单,而post方式则没有这个限制。


获取控件(不论是服务器控件还是HTML控件)的值常见方式有如下几种:

获取方式表单提交方式
Request.QueryString["控件名"]适合于get方式提交的表单
Request.Form["控件名"]适合于post方式提交的表单
Request["控件名"]同时适合于get和post方式提交的表单
从上面我们可以看到用Request["控件名"]这种方式对于get和post两种方式都可行,那么我们就可以用这种方式来应付所有提交的表单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: