我是MVC4
编程的新手。最初遵循NerdDinner
教程。现在我逐渐使情景复杂化。我想从表的字段填充DropDown
列表,但不知道如何,虽然我从互联网上搜索相关资料但无法得到一些复杂的信息。
场景是有2个表Software
和Category
(代表软件的类别,无论是反病毒,图形等......)。
Software
表中,catID
采用int
形式,与catID
表格中的Category
具有外键关系。 Category
表中,catID
和catTitle
是唯一的字段。现在,在创建Create
视图以添加/上传新Software
时,我希望所有catTitle
中的catID
显示在{{1}中用户将从中选择软件类别,但我不知道该怎么做....
我的Drop-Down List
文件中使用的模型是
Create.cshtml
所以在这种情况下,
@model SoftwarePortal.Models.Software
我应该如何以及在何处指定SQL stmt来获取@Html.DropDownListFor()
和相应的catIDs
? (我正在使用Linq来SQL ...)
如何访问未声明为当前View的模型的表...?
答案 0 :(得分:0)
在控制器中 假设您的Generated数据库实体将是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")
答案 1 :(得分:0)
ViewBag.Categories
SelectList
@Html.DropDownListFor()
内的{{1}}!因为它不会自动采取存储项的形状...
我这么傻......