2015-09-07 70 views
1

我正在關注一本關於C#(Pro asp.net MVC 3 Framework)的書,它有點過時了,但與新版本相比沒有多大區別。Asp.net無法創建視圖IEnumerable <string>

電子書:Ebook version, google link. 我有這本書的紙質版本,但頁碼是相同的。 我被困在第205頁,它要求我創建一個名爲'Menu'的視圖,並與模型類IEnumerable<string>我無法創建,當我輸入時我無法點擊'ADD'

根據書:

Image from book

根據我的編輯:

Image from my editor.

我是新的C#,但我會貼上我的一些代碼,讓你們明白BETT呃。

{ 
    public class NavController : Controller 
    { 
     private IProductRepository repository; 
     public NavController(IProductRepository repo) 
     { 
     repository = repo; 
     } 

     public PartialViewResult Menu() //Krijg hier geen VIEW met: "IEnumerable<string>" als Modelclass. 
     { 
     IEnumerable<string> categories = repository.Products 
           .Select(x => x.Category) 
           .Distinct() 
           .OrderBy(x => x); 
     return PartialView(categories); 
     } 
    } 
} 

希望這只是一件愚蠢的事我做錯了。

提示&調整是受歡迎的!

問候

+7

您可以隨時創建視圖,而無需指定模型類,然後手動添加它 - '@model IEnumerable ' –

+0

謝謝,這只是一個愚蠢的事情! –

回答

1

您可以簡單地創建一個視圖,然後指定Model

@model IEnumerable<string> 
@foreach (var str in Model) 
{ 
    <li> 
     @Html.LabelFor(m => str, "My Label") 
     @Html.TextBoxFor(m => str) 
     @Html.ValidationMessageFor(m => str) 
    </li> 
} 

因此,作爲Stephen提到的沒有必要指定模式的方式。

+1

謝謝,我將此標記爲答案,因爲我無法將評論投票作爲答案。這解決了它。 –