我试图在MVC中为其中一个视图创建强类型模型。该模型是LINQ GroupBy查询的结果,因此它是下面显示的类型(通过姓的首字母对员工进行分组)。MVC强类型IQueryable <IGrouping <TKey,TElement >> model
@model IQueryable<IGrouping<string, Employee>>
我不确定为什么,但它不让我有这种类型的模型。我得到的错误消息是: 开头“<”缺少相应的关闭“>”。这是不正确的。
我知道我可以创建一个视图特定的模型,并填充它,但我想知道为什么这个模型似乎不工作?
页面的其余部分没有错误,页面的itellisense只有在使用这个顶部的@model行时才会停止工作(就好像该行在语法上是不正确的),所以它的范围很窄。难道这可能是事实:Iqueryable采用泛型,并且igrouping也采用泛型,所以出于某种原因,这不能用作强类型模型?看起来我可能不得不创建一个特定的视图模型。 – robasaurus 2012-04-08 17:48:11
@robasaurus:嵌套的泛型应该没有问题。我在我的机器上试过了,它工作得很好。 Visual Studio是否可能将其视为Razor视图?尝试创建一个特定的视图模型,看看是否有效。你得到的错误,以及它听起来像你网页的其余部分目前不依赖于模型的事实,使我想到也许VS只是把你的内容当作普通的html或aspx/ascx页面来处理,而不是Razor(.cshtml)页面。 – StriplingWarrior 2012-04-08 22:45:47
我已经创建了一个视图模型,并且工作正常。因此,我们将页面视为剃刀视图,因为我已经使用剃刀语法循环了自定义视图模型。这是伟大的,但我仍然困惑为什么它没有工作。 – robasaurus 2012-04-09 18:48:04