首页 > 代码库 > MVC强类型和弱类型的区别

MVC强类型和弱类型的区别

1 强类型的处理

首先必须要有一个对象的实体类,UserINfo就是一个实体类,如下:

public class UserInfo()

{

public  int Id{set;get;}

public string UserName{set;get;}

public int UserAge{setl;get;}

}

调用这个实体类的Action如下:

public ActionResult QiangLeiXing()

{

  UserInfo userinfo=new UserInfo();

 userinfo.Id=1;

userinfo.UserName="GRL";

userinfo.UserAge=20;

ViewData.Model=userinfo;

return View("View1");

}

 

页面View1的显示信息的代码如下:

技术分享

使用强类型的代码需要引入强类型的Model,就是页面最上面的那一坨代码。在使用时候只需要用Model打点的方式就可以调出需要使用的信息。

至于为什么在前台使用Model就可以,原因如下:

用反编译的软件打开Model的定义函数时,现时的代码如下:

public TModel Model()

{

  get{

       return this.ViewData.Model;

       }

}

也就是说.net  平台帮我们封装了一层,如果不封装这层函数,我们在前台使用的时候需要写的代码是

<%: ViewData.Model.Id %>

用具体的图示如下:

技术分享

因此我们可以这么方便的使用强类型的数据。

 

2 弱类型

处理后台代码的Action 方法如下:

public ActionResult Index()

{

   DataTable dt=sqlHelper.ExcuteDataTable("select ID, Class, Department, Teacher from TB_Class ");

  ViewData["dt"]=dt;

  return View("Home");

}

Home页面中的代码如下:

技术分享

MVC强类型和弱类型的区别