每当我将 @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]?
最佳答案
@模型
@model
指令指定传递给 View 的模型类型:
@model TypeNameOfModel
在使用个人用户帐户创建的 ASP.NET Core MVC 应用中,Views/Account/Login.cshtml View 包含以下模型声明:
@model LoginViewModel
生成的类继承自RazorPage<dynamic>
:
public class _Views_Account_Login_cshtml : RazorPage<LoginViewModel>
Razor 公开了一个 Model
用于访问传递给 View 的模型的属性:
<div>The Login Email: @Model.Email</div>
@model
指令指定此属性的类型。该指令指定 T
在 RazorPage<T>
View 派生的生成类。如果@model
未指定指令,Model
属性类型为 dynamic
.模型的值从 Controller 传递到 View 。有关详细信息,请参阅 Strongly typed models and the @model keyword .
引用:@model
关于asp.net - @model 到底做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57346982/