首页 > 代码库 > 从视图到控制器的传值方法(表单)

从视图到控制器的传值方法(表单)


Views中: 将数据提交到某个控制器的方法中,在该方法中去做处理

<form action="/控制器/get"method=“post”>
 姓名:<input  type="text" name="SName"/> //SName是属性名称
 性别:<input  type="radio" name="sex" value=http://www.mamicode.com/""/><input  type="radio" name="sex" value=http://www.mamicode.com/""/> //sex是属性名称
<input type="submit" value=http://www.mamicode.com/"提交"/>
</form>

controllers中:获取从视图中(表单)传过来的值

一。通过request获取传值:

public  string get()
{
strinig SName=Request["SName"]; //SName同样也是属性名称
string  sex=Request["sex"];
return "姓名:"+SName+"性别:"+sex;
}

二。通过参数的方式获取表单提交过来的数据

public  string get(string SName,string sex)//注意:参数名称尽量使用表单中的name值(也就是属性值)
{
return "姓名:"+SName+"性别:"+sex;
}

三。通过对象获取表单提交过来的数据      

(1)自动装配(点提交后自动封装成一个对象并将name中赋给相应的属性)

(2)注意通过这种方式复选框的值取不到 通过request取值后赋给属性

(3)通过对象名.属性名取值

首先需要一个类

public  class Student
{
public string SName{get;set;} public string sex{get;set;} }

然后,控制器为:

public  string get(Student stu) //Student 对象  注意:name必须与类中的属性名一样
{

return "姓名:"+stu.SName+"性别:"+stu.sex;
}

四。通过FormCollection获取表单提交过来的数据

(1)取值方式:数组+下标(name值)

public  string get(FormCollection   col) //  注意:name必须与类中的属性名一样
{

return "姓名:"+col["SName"]+"性别:"+col["sex"];
}

 

从视图到控制器的传值方法(表单)