如何在视图中获取模型类型

dav*_*v_i 0 asp.net-mvc razor

如何在视图本身中找出视图模型的类型?

我试着打电话GetType

@model MyModel

<div>@Model.GetType()</div>
Run Code Online (Sandbox Code Playgroud)

除非Model为空,否则有效,在这种情况下,我得到一个NullReferenceException.

不幸的是,这也是不可能的

@model MyModel

<div>@typeof(TModel)</div>
Run Code Online (Sandbox Code Playgroud)

asTModel在 Razor 视图的上下文中不可用。

Chr*_*att 5

尝试:

@ViewData.ModelMetadata.ModelType
Run Code Online (Sandbox Code Playgroud)

无论模型的值是否为 null 都有效,并且它是内置的。无需创建帮助程序。