如何在asp.net mvc 4中的视图上渲染2个模型?

时间:2013-01-04 16:56:49

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4

我有一个页面,其中有一些文本框可以保存到名为Values的表中,让我们说。我显示的文本框将从下拉列表中填充选择。此下拉列表将从名为DropDownListValues的数据库中的另一个表中获取其值。我假设我的控制器将建立在Values模型上,但我想我对如何将值提供给下拉列表有点困惑。我是将它存储在ViewBag还是呈现局部视图?只是想在这里找到最好的方法,因为我对asp.net mvc来说是一个新手。

3 个答案:

答案 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。这是一个评论,但我不能接受这个答案所以我决定发表一个答案