我試圖在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