【发布时间】:2014-12-12 10:12:02
【问题描述】:
我正在开发 MVC3 应用程序。在一页上,我展示了多个部分视图,这些视图从同一类的不同列表中获取模型。
@{Html.RenderPartial("UcPartialView1", Model.lst1);}
@{Html.RenderPartial("UcPartialView2", Model.lst2);}
@{Html.RenderPartial("UcPartialView3", Model.lst3);}
到目前为止一切正常。但突然间我遇到了奇怪的行为。 我的所有部分视图都加载了 list1 中存在的相同数据,即使每个部分视图都有不同的列表,甚至部分视图也不同。 我尝试调试,直到我可以看到实际数据的每个局部视图都绑定到局部视图,但是在渲染时它只显示所有局部视图的 UcPartialView1。 你有什么建议吗?
【问题讨论】:
-
您将相同的数据传递给所有视图。您是否更改了控制器或部分视图中的某些内容?当问题第一次出现时,你做了什么改变?部分视图是否绑定到 ViewBag 而不是 List
? -
不,我将不同的数据和模型传递给每个局部视图。仅视图没有变化我通过控制器中的 Azman 添加了身份验证
-
我还没有尝试过 ViewBag .. 让我检查一下,并会及时更新
-
不不要试试 ViewBag!我在问你是否绕过了模型。无论如何,如果你传递不同的数据,你会得到不同的视图。 MVC 不只是随机选择一个列表。您可能在某处有错字或错误的分配。在
RenderPartial处添加断点并检查三个列表的值。我怀疑它们是一样的。您需要发布部分视图的代码和初始化三个列表的代码 -
我尝试在每个部分视图上使用断点,它采用每个列表不同的实际数据,但在页面上显示它时显示所有部分视图的第一个部分视图(数据和列)
标签: asp.net-mvc-3 c#-4.0 asp.net-mvc-partialview