模型绑定就是我们可以在Action的参数中。通过添加一个类型参数,可以是简单类型 也可以是复杂类型。然后MVC会自动帮我们把表单中的数据复制到简单类型或者复杂类型里面的属性中。
数据的类型需要我们自己来转换
下面是不使用模型绑定的方式取得数据
[HttpPost]
public IActionResult Register(string name)
{
//不用模型绑定 以前的方式取表单数据或者URL中的参数
string s1 = HttpContext.Request.Form["name"]; //post的数据用form
string s2 = HttpContext.Request.Query["id"];//地址栏get的数据用query
return View();
}Code language: PHP (php)
通过简单数据类型绑定获取数据
上面的不使用模型绑定 那么数据都是string字符串类型的。
[HttpPost]
public IActionResult Register(string name,string password,string comfirmpassword,int id)Code language: CSS (css)
我们可以通过简单数据类型绑定 可以指明数据的类型的。比如id我们可以指明int
记得表单的数据 name一定要和参数的名称一样 否则就绑定不上了。
复杂数据类型绑定
MVC还可以帮我们把数据绑定到一个实体类型里面的属性的。
比如我们添加一个User实体类
[HttpPost]
public IActionResult Register(UserInfo userInfo)Code language: CSS (css)
这样直接直接绑定一个实体类型
public class UserInfo
{
private int id;
private string name;
private string password;
private string comfirmpassword;
public int Id { get => id; set => id = value; }
public string Name { get => name; set => name = value; }
public string Password { get => password; set => password = value; }
public string Comfirmpassword { get => comfirmpassword; set => comfirmpassword = value; }
}Code language: PHP (php)
Previous: 10-路由在区域Area的使用
Next: 13-通过特性来约束模型绑定