asp.net @model到底是做什么的?

bzzcjhmw  于 2023-05-19  发布在  .NET
关注(0)|答案(1)|浏览(201)

每当我把@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]?

ruyhziif

ruyhziif1#

@模型

@model指令指定传递给视图的模型的类型:

@model TypeNameOfModel

在使用单个用户帐户创建的ASP.NET Core MVC应用程序中,Views/Account/Login.cshtml 视图包含以下模型声明:

@model LoginViewModel

生成的类继承自RazorPage<dynamic>

public class _Views_Account_Login_cshtml : RazorPage<LoginViewModel>

Razor公开了一个Model属性,用于访问传递给视图的模型:

<div>The Login Email: @Model.Email</div>

@model指令指定此属性的类型。该指令指定RazorPage<T>中的T,视图从该类派生。如果未指定@model指令,则Model属性的类型为dynamic。模型的值从控制器传递到视图。有关更多信息,请参见强类型模型和@model关键字。
参考:@model

相关问题