如何获取当前视图的模型名称?
How can you get the current View's Model name?
我预计这是 asked/answered 一百次,但我在整个 Internet 上能找到的唯一答案是:
var currentModel = Model.GetType().Name;
这个几乎有效但是例如如果模型被定义为
@model Myproject.Model.User_info
然后 currentModel 的值最终是这样的:
User_info_23L7HGAFWLIUHI7GLIUBGFWAKHGI73I37GArwq
我真的必须去掉以倒数第二个下划线开头的所有内容吗?或者有更好的方法吗?
根据 Jasen 对上述问题的评论,我最终的答案是:
var currentModel = System.Data.Entity.Core.Objects.ObjectContext.GetObjectType(Model.GetType()).Name;
...这会可靠地生成开发人员定义的模型和视图模型的正确名称。
我预计这是 asked/answered 一百次,但我在整个 Internet 上能找到的唯一答案是:
var currentModel = Model.GetType().Name;
这个几乎有效但是例如如果模型被定义为
@model Myproject.Model.User_info
然后 currentModel 的值最终是这样的:
User_info_23L7HGAFWLIUHI7GLIUBGFWAKHGI73I37GArwq
我真的必须去掉以倒数第二个下划线开头的所有内容吗?或者有更好的方法吗?
根据 Jasen 对上述问题的评论,我最终的答案是:
var currentModel = System.Data.Entity.Core.Objects.ObjectContext.GetObjectType(Model.GetType()).Name;
...这会可靠地生成开发人员定义的模型和视图模型的正确名称。