2010-04-23 34 views
0

为什么不能解决这个控制器方法网页UI控件和ASP.NET MVC

public ActionResult Person() 
    { 
     testEntities6 testPersons = new testEntities6(); 
     IQueryable<person> persons; 

     DropDownLst.Items.Clear(); 
     DropDownLst.Items.Add("proba"); 

     persons = from i in testPersons.person 
        select i; 
     return View(persons); 
    } 

的查看页面,包括命名空间:

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Web; 
    using System.Web.Mvc; 
    using System.Web.Mvc.Ajax; 
    using MvcKVteam.Models; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 
    using System.Web.UI.WebControls.WebParts; 
    using System.Web.UI.HtmlControls; 

鉴于网页,我把这个代码:

<asp:DropDownList ID="DropDownLst" runat="server"> 
    </asp:DropDownList> 

回答

1

我不认为你可以在MVC中使用服务器控件。您应该使用HTML Helpers来代替。基于

在现有代码:

<%= Html.DropDownList("DropDownLst", Model.AsEnumerable()) %> 

但我会建议使用视图模型,而不是仅仅通过一个IQueryable的视图。我也建议你拿起一本MVC书。专业的ASP.NET MVC 1.0非常好,但不包括2.0版本。

Rich

+0

我有错误;没有类型为'IEnumerable '的ViewData项具有键'DropDownLst'。 使用您的代码后 – Ognjen 2010-04-23 08:18:27