2011-09-02 44 views
0

我在處理強類型列表框中的多個值時遇到問題。 我有一個事件類可以有多個技術類。ASP.NET MVC3 - 處理來自強類型列表框的多個值的問題

這裏是我的簡單的事件類:

public class Event 
{ 
    public int ID { get; set; } 
    public IEnumerable<Technology> Technologies { get; set; } 
} 

我就是用這個

public List<Technology> Technologies { get; set; } 

,並改爲

public IEnumerable<Technology> Technologies { get; set; } 

,但仍然得到了同樣的錯誤。

這裏的科技類,這是一個非常簡單的一個

public class Technology 
{ 
    public int ID { get; set; } 
    public String Description{ get; set; } 
} 

這裏是我的簡化控制器

public ActionResult Create() 
    { 
     var TechnologyQry = from d in db.Technology 
           orderby d.Description 
           select new { d.ID, d.Description }; 
     ViewBag.eventTechnology = new MultiSelectList(TechnologyQry ,"ID","Description"); 
     return View(); 
    } 

和這裏的呈現列表框

@Html.ListBoxFor(model => model.Technologies, (MultiSelectList)ViewBag.eventTechnology) 

和thit的視圖部分我收到的錯誤

具有關鍵'技術'的ViewData項目類型爲'System.Collections.Generic.List`1 [[stuff.Models.Technology,stuff,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null ]]'但必須是'IEnumerable'類型./

對不起,英語不是我的主要語言。 我很感激任何幫助,我可以得到。 謝謝。

回答

0

您在視圖@model ...中定義了什麼模型?
除此之外,Create方法不會返回要用作/作爲模型的內容。 如果您希望列表框在名稱屬性中被稱爲「技術」,您可以改爲使用:

@Html.ListBox("Technologies", (MultiSelectList)ViewBag.eventTechnology)