0

如何从控制器中找到(剃刀)视图的模型类型?我知道它们继承自 WebViewPage 和 WebViewPage,仅此而已。

(在 asp.net c# MVC 3 或 4 中)

提前致谢。

编辑用例:允许用户创建/上传/编辑视图和强类型视图,然后用户可以选择其中一个用户创建的视图来显示/编辑数据库中不同类型的数据。

例如,应用程序检索一个对象 Foo,并且有针对 Boo 和 Foo 的强类型视图。我不希望 Boo 的视图显示为 Foo 对象的可能选择。

4

2 回答 2

1

我不知道你为什么要这样做,但你可以这样做

@Model.GetType()

您应该尽量避免视图中出现尽可能多的代码,并将逻辑推送到您的控制器或服务中。

于 2012-11-28T06:27:57.593 回答
0

如果您有权访问 a ,则可以通过执行以下IEnumerable<WebViewPage<T>>操作来获取类型:T

// Assuming 'views' is a IEnumerable<WebViewPage<T>> here.
var validFooViews = views.Where(v =>
    v.GetType().GetGenericArguments()[0] == typeof(Foo));
于 2013-03-25T20:27:08.637 回答