每当我把@model [Type]
放在Razor页面的顶部时,一些泛型类型和方法的类型参数解析为[Type],例如:
string DisplayNameFor<TResult>(Expression<Func<TModel, TResult>> expression);
成为
string DisplayNameFor<TResult>(Expression<Func<[Type], TResult>> expression);
ASP.NET Core是如何做到这一点的?TModel
类型参数如何变成[Type]?
1条答案
按热度按时间ruyhziif1#
@模型
@model
指令指定传递给视图的模型的类型:在使用单个用户帐户创建的ASP.NET Core MVC应用程序中,Views/Account/Login.cshtml 视图包含以下模型声明:
生成的类继承自
RazorPage<dynamic>
:Razor公开了一个
Model
属性,用于访问传递给视图的模型:@model
指令指定此属性的类型。该指令指定RazorPage<T>
中的T
,视图从该类派生。如果未指定@model
指令,则Model
属性的类型为dynamic
。模型的值从控制器传递到视图。有关更多信息,请参见强类型模型和@model关键字。参考:@model