Asp.net mvc 4 局部视图渲染问题

Asp.net mvc 4 局部视图渲染问题,asp.net-mvc-4,Asp.net Mvc 4,在我的项目中,我有一个从viewmodel渲染的视图 视图模型包含如下属性 模型1 2.模型列表1 3.模型列表2 我的视图有两个部分视图,从控制器我把视图模型传给mainview,在mainview我把模型1传给第一个部分视图,把列表传给第二个部分视图 现在在第一个局部视图中,我想呈现一个下拉列表,其中的值绑定到列表 我该怎么做 有没有明确的方法可以做到这一点。 我不能改变我的型号 如果您确实需要将列表放入partialView1,并且无法更改模型签名(这是您应该做的),则可以使用@Html.

在我的项目中,我有一个从viewmodel渲染的视图 视图模型包含如下属性

  • 模型1
  • 2.模型列表1

    3.模型列表2

    我的视图有两个部分视图,从控制器我把视图模型传给mainview,在mainview我把模型1传给第一个部分视图,把列表传给第二个部分视图

    现在在第一个局部视图中,我想呈现一个下拉列表,其中的值绑定到列表 我该怎么做

    有没有明确的方法可以做到这一点。
    我不能改变我的型号

    如果您确实需要将列表放入partialView1,并且无法更改模型签名(这是您应该做的),则可以使用@Html.Action(“ActionName”、“ControllerName”)转到返回部分视图的操作。这可能会导致额外的数据库访问


    要以正确的方式执行此操作,您应该更改部分视图签名以接受整个viewmodel,或者至少接受包含List和model1的模型。

    为什么不能更改模型?如果使用视图模型,这是最佳做法,然后,您可以完全控制向视图发送和从视图发送的内容。您可以始终将整个模型传递给您的部分,并在那里执行您需要执行的任何操作。我对entityframework使用代码优先的方法,因此,如果我更改了我的模型,那么我将不必要地通过复制现有实体的条目并传递整个viewmodel来加载数据库对这两个部分的理解在概念上都是错误的。因此,我无法将viewmodel传递给两个部分