什么是ASP.NET MVC中强types的View
ASP.NET MVC中的强types视图是什么?
它是一个从System.Web.Mvc.ViewPage<TModel>派生的aspx页面。 据说这种观点是强types的TModeltypes。 因此,在这个视图中有一个Model属性,它是TModeltypes的,允许你直接访问这个模型的属性:
<%= Model.Name %> <%= Model.Age %>
如果你的aspx页面是从System.Web.Mvc.ViewPage派生的,你需要从ViewData获取值,这个视图不再知道TModeltypes:
<%= (string)ViewData["Name"] %> <%= (int)ViewData["Age"] %>
甚至更糟糕:
<%= ((SomeModelType)ViewData["model"]).Name %>
这样的代码没有编译时间的安全性。
还要注意,强types部分(ASCX)的ViewUserControl<TModel>对应。
强types视图用于呈现特定types的模型对象,而不是使用一般的ViewData结构。 通过指定数据的types,您可以访问模型类的IntelliSense。
这是一个视图,指定传递给它的对象的types作为其模型 – 所以不是从ViewPageinheritance的视图,而是从ViewPage<T>inheritance,其中T是模型的types。