表单提交的方法
1.submit按钮,结合form标签的onsubmit事件
表单提交的方式
·get提交
- get提交为form表单的默认提交方式,有数量限制
- get提交参数以字符串拼接到url中传递到后台
- get方式通常用于服务器上获取信息
·post提交
- post提交参数会将参数封装到请求体中传递到后台
- 相比get方式更简单快捷,并在大部分情况都使用
- post通常用于向服务器上传递修改数据
- 在需要用到缓存文件、向服务器发送大量数据、发送包含未知字符的用户输入时,使用post提交比
get提交更有优势 - post相对get安全性更高
·get提交与post提交的区别
-数据的传递方式 :get将表单里的数据添加到action所指向的URL后面,并且两者之间使用”?”连接,而各个变量之间使用"&"连接;post是将表单中的数据放在form的数据体(FormData)中,按照键值对的方式,传递到所指向的action
-安全性 :get在传输过程中,数据被放在请求的url中这样用户可以直接在浏览器上看到提交的数据,post的所有操作对用户来说都是不可见的,数据都在数据体(FormData)中
-刷新操作的影响 :get方式获取数据后,刷新不会有负面的影响,因为它只是获取数据,POST数据
被重新提交可能产生不良后果(浏览器应该告知用户数据会被重新提交)
- 数据类型的限制 :GET只允许ASCII字符,POST则无限制(如果提交二进制数据(例如:图片),需要使用POST方法)
获取表单数据的方式
1.通过形参的方式接收表单提交的数据(get和post都适用)
代码:
public ActionResult GetData(string name,string sex,string address)//传入参数
{
string str = “”+name + “&” + sex + “&” + address;//字符串拼接
return Content(str);//返回值
}
2.通过FormCollection来接收表单的数据(只适用post)
代码:
public ActionResult getDataByFormCollection(FormCollection form)
{
string name = form[“name”];
string sex = form[“sex”];
string address = form[“address”];
string str = “&” + name + “&” + sex + “&” + address;
return Content(str);
}
3.通过 Request.Form[“name的属性值”]获取表单数据(只适用post)
代码:
public ActionResult getDataByRequest()
{
string name = Request.Form[“name”];
string sex = Request.Form[“sex”];
string address = Request.Form[“address”];
string str = “3.通过Request.Form来接收表单的数据” + name + “&” + sex + “&” + address;
return Content(str);
}
4.EntityClass实体类接收数据(get和post都适用)
代码:
public ActionResult getDataByEntityClass(Person person)1
{
string name = person.name;
string sex = person.sex;
string address = person.address;
string str = “4.EntityClass实体类接收数据” + name + “&” + sex + “&” + address;
return Content(str);
}
//js中 Person 通过构造函数去创建对象
//创建实体类
public class Person {
public string name { get; set; }
public string sex { get; set; }
public string address { get; set; }
}
表单提交示例
代码: