强类型View相关概念

“使用强类型View传递数据到View”对应的概念是“使用ViewData传递数据到View”,即a Strongly-Typed View与a weakly-typed dictionary 

现在ASP.NET MVC中普遍使用强类型的View,即指定View中的Model的类型。

创建一个强类型的View,两种方式,第一种是在创建View的对话框中,勾选create a strongly-typed view,然后选择相应的Model class,可以发现,在创建的View页面上边会有一行代码@model Weapsy.Web.Models.Home.UserModel;

 第二种是没有勾选create a strongly-typed view,而是在View创建后手动在Viewe页面写上@model Weapsy.Web.Models.Home.UserModel,两种方式的作用是一样的。

非强类型的View继承自System.Web.Mvc.ViewPage<object>,而强类型的View继承自System.Web.Mvc.ViewPage<UserModel>.以往非强类型的View,一般是把UserModel以object的方式存到View的Model属性中,然后再View中强制转换。或者把UserModel放到View的ViewData属性中,然后再View中获取并且强制转换。使用强类型的好处就是,省去了自己UserModel model = Model as UserModel的过程,在编写代码的时候智能提示很方便。而且,这个在Model很复杂的时候,比如说,Model中含有很多List的时候,相比于飞强类型的Model来讲,代码的简洁是非常明显的。以前放到ViewData中,是因为是Dictionary类型,所以,在编译的时候,如果属性name拼写错误,是检查不出来的。必须runtime的时候才能发现。所以,相比这个,strong typed view有很大的优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值