如何在一个MVC视图中使用多个模型?

时间:2019-05-13 12:21:51

标签: asp.net-mvc entity-framework model viewbag

我在为一个MVC视图使用2种不同模型时遇到问题。我有一个页面,可以通过切换按钮在2个内容之间切换。一个内容显示了一个可以正常工作的重定向列表(模型ApiRedirects),而我的其他内容则显示了一个公司列表(模型Companies)。查看屏幕截图:

内容1(有效):

enter image description here

现在,我使用顶部中心的切换按钮位置切换到其他内容,从而可以显示其他视图:

enter image description here

在最后一个视图中(模型公司),我希望能够显示数据库中“公司”表的列表,但是我无法执行此操作,因为我无法弄清楚如何在一个视图中导入2个模型

到目前为止我尝试过的事情

在我的控制器中,我返回我的ApiRedirects列表,并在我的视图中通过使用(适用于一种模型)使用它:

@model List<APIBrokerFrontend.Models.ApiRedirect>

但是我不能两次执行,因此我尝试在控制器中获取公司的列表,并将此列表放入ViewBag中。这可以正常工作,并且可以在列表中找到列表,但是当我尝试通过以下操作创建TextBox元素时:

var getlist = ViewBag.CompaniesList as IEnumerable<APIBrokerFrontend.Models.Company>;

<div class="modal-body">
       <form id="myForm">
       @<p>@Html.TextBoxFor(getlist.First().CompanyName, new { @class = "form-control", @placeholder = "Company Name" })</p>
        </form>
</div>

我遇到以下错误:

enter image description here

希望有人为此提供解决方案!

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以仅使用@ Url.Action(“ ActionName”)的最后一个视图。在控制器中创建PartialViewResult。