我有一个页面,其中有一些文本框可以保存到名为Values
的表中,让我们说。我显示的文本框将从下拉列表中填充选择。此下拉列表将从名为DropDownListValues
的数据库中的另一个表中获取其值。我假设我的控制器将建立在Values
模型上,但我想我对如何将值提供给下拉列表有点困惑。我是将它存储在ViewBag
还是呈现局部视图?只是想在这里找到最好的方法,因为我对asp.net mvc来说是一个新手。
答案 0 :(得分:1)
是的,您将它们存储在viewBag
中 ViewBag.CompanyTypes = _Repository.GetCompanyTypes().
Select(p => new SelectListItem { Text = p.CompanyType1, Value = p.CompanyTypeID.ToString() });
并使用它:
@Html.DropDownListFor(model=> model.CompanyTypeID, (IEnumerable<SelectListItem>)ViewBag.CompanyTypes )
答案 1 :(得分:0)
我认为您可以同时使用它们,问题是存储在ViewBag中还是渲染局部视图?回答:是的,您可以在需要时使用它们。您可以为城市,办公室,少数热门用户等准备特定的扩展程序。
答案 2 :(得分:0)
使用ViewModel
。这是一个评论,但我不能接受这个答案所以我决定发表一个答案