Asp.net mvc 什么是ASP.NET MVC中的强类型视图

Asp.net mvc 什么是ASP.NET MVC中的强类型视图,asp.net-mvc,view,Asp.net Mvc,View,ASP.NET MVC中的强类型视图是什么?它是一个将传递给它的对象的类型指定为其模型的视图-因此,它不是从ViewPage继承的视图,而是从ViewPage继承的视图,其中T是模型的类型。它是从中派生的aspx页面。据说此视图是强类型的,类型为TModel。因此,此视图中有一个类型为TModel的属性,允许您直接访问模型的属性,如下所示: <%= Model.Name %> <%= Model.Age %> 甚至更糟的是: <%= ((SomeModelType

ASP.NET MVC中的强类型视图是什么?

它是一个将传递给它的对象的类型指定为其模型的视图-因此,它不是从
ViewPage
继承的视图,而是从
ViewPage
继承的视图,其中
T
是模型的类型。

它是从中派生的aspx页面。据说此视图是强类型的,类型为
TModel
。因此,此视图中有一个类型为
TModel
的属性,允许您直接访问模型的属性,如下所示:

<%= Model.Name %>
<%= Model.Age %>
甚至更糟的是:

<%= ((SomeModelType)ViewData["model"]).Name %>

这种代码没有编译时安全性


还请注意,强类型部分(ASCX)有对应的视图。

强类型视图用于渲染特定类型的模型对象,而不是使用常规的ViewData结构。通过指定数据类型,您可以访问模型类的IntelliSense。

如果视图使用多个模型类的字段或属性,该怎么办?@AbidAli创建一个单独的“视图模型”,其成员是多个模型类的实例。例如,如果您有
ModelA
ModelB
ModelC
,那么您将有一个视图模型:
public-class-MyViewModel{public-ModelA-ModelA{get;set;}public-ModelB-ModelB{get;set;}public-ModelC-ModelC{get;set;}
<%= ((SomeModelType)ViewData["model"]).Name %>