【问题标题】:Partial view rendering issue局部视图渲染问题
【发布时间】:2013-06-16 13:12:30
【问题描述】:

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

  1. 型号1

2.Model1列表

3.Model2列表

我的视图有两个局部视图,从控制器我将 Viewmodel 传递给 mainview,在 mainview 中我将 model1 传递给第一个局部视图,将 List 传递给第二个局部视图

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

有什么明确的方法可以做到这一点。 我不能改变我的模型............

【问题讨论】:

  • 你为什么不能改变你的模型?如果您使用视图模型(这是最佳实践),那么您将完全控制发送到视图和从视图发送的内容。
  • 您始终可以将整个模型传递给您的局部模型,并在那里做任何您需要做的事情。
  • 我在实体框架中使用代码优先的方法,所以如果我改变我的模型,那么我会不必要地通过复制现有实体的条目来加载数据库
  • 并将整个视图模型传递给两个部分在概念上是错误的。 . . . . .所以我不能将视图模型传递给两个部分

标签: asp.net-mvc-4


【解决方案1】:

如果你真的需要让列表进入 partialView1 并且不能改变模型签名(这是你应该做的),你可以使用 @Html.Action("ActionName", "ControllerName") 去一个动作返回部分视图。这可能会导致额外的数据库访问。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多