1

我是MVC4编程新手。最初遵循NerdDinner教程。现在我逐渐使场景复杂化。我想DropDown从表格的字段中填充一个列表,但不知道如何,虽然我从互联网上搜索了相关材料,但无法获得一些复杂的信息。

场景是有2个表SoftwareCategory(代表软件的类别,无论是防病毒、图形等......)。

  1. in Softwaretable,catID是与in表int有外键关系的形式。catIDCategory
  2. Category表中,catID并且catTitle是唯一的字段。

现在,在创建Create视图以添加/上传新的 s 时Software,我希望catTitle所有catIDs 都显示在 aDrop-Down List中,用户将从中选择 Software 类别,但我不知道该怎么做......

我的Create.cshtml文件中使用的模型是

@model SoftwarePortal.Models.Software


所以在这种情况下,争论的焦点是什么

@Html.DropDownListFor()


我应该如何以及在哪里指定要获取catIDs和对应的 SQL stmt catTitles?(我正在使用Linq to SQL...)
如何访问未声明为当前视图模型的表...?

4

2 回答 2

0

在控制器中假设您生成的数据库实体将是 SoftDBEntities

private SoftDBEntities se = new SoftDBEntities();
public ActionResult Create()
{
    //se.Categorys will get all categories
    //se.Categorys may be replace with a function which return records from Category table
    ViewBag.CatId= new SelectList(se.Categorys, "CatId", "CatTitle");
    return View();
} 

在 cshtml 文件中

@Html.DropDownList("CatId")

如果上面的语句不起作用,那么试试这个

@Html.DropDownListFor(model.CatId,(SelectList)ViewBag.CatId,"CatId","CatTitle")
于 2012-10-18T05:16:30.540 回答
0

哦,天哪!你相信我需要做的就是把里面的字体转换ViewBag.Categories成字体吗!!!因为它不会自动形成存储物品的形状...... 我太愚蠢了......SelectList@Html.DropDownListFor()

于 2012-10-23T05:01:36.493 回答