2013-03-14 58 views
1

我是新的MVC。如何在MVC中添加DropDownList

我在我的数据库中调用两个表'公司'和'部门' 所以一个公司有很多部门。

在我的项目中,我将我的数据库添加到Model作为ADO.net实体模型。 我创建主键和伪造键。 因此,当我创建一个新的部门,我想在下拉列表中显示公司名单。

我不知道该怎么做?

我尝试这样

@Html.DropDownListFor(model => model.tblCompany.PKComID, Model.tblCompany) 

,但它不工作 我该怎么办呢?

+0

无耻的插件,因此只有一个评论:以下是我如何使用它http://www.obasarat.com/2013/03/htmldropdownlistfor-aspnet-mvc-usage.html – basarat 2013-03-14 05:17:15

回答

3

假设你有这样的事情

public class Company 
{ 
    public int PKComID { get; set; } 
    public string Name { get; set; } 
} 

填充您的控制器ViewBag.AllCompanies属性。然后使用此代码在您的视图:

@{ 
    var allCompanies = ViewBag.AllCompanies as IEnumerable<Company>; 
} 
@Html.DropDownListFor(n => n.tblCompany.PKComID, new SelectList(allCompanies, "PKComID", "Name")) 
+0

对不起。它不工作。它说 - 编译器错误消息:CS1502:'System.Web.Mvc.SelectList.SelectList(System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable,string,string)'的最佳重载方法匹配'有一些无效参数 – user1348351 2013-03-14 05:24:10

+0

@ user1348351对不起。我更新了我的答案,使其更加完整。 – 2013-03-14 05:34:40

+0

谢谢soo – user1348351 2013-03-14 07:00:52

0

你可以试试这个

在模型类如

public SelectList Company { get; set; } 

添加选择列表在控制器填充公司表像

model.Company = new SelectList(CompanyList , "Id", "Name", PKComID); 

最后你可以绑定视图

@Html.DropDownListFor(m => model.tblCompany.PKComID, Model.Company , "--Select Company--") 

我希望这会有所帮助。

相关问题