【问题标题】:MVC Partial view loading wrong dataMVC 局部视图加载错误数据
【发布时间】: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


【解决方案1】:

我认为您对同一类的每个列表都使用了不同的局部视图。

请尝试如下,可能会帮助您获得解决方案。

@{Html.RenderPartial("UcPartialView1", Model.lst1);}
@{Html.RenderPartial("UcPartialView1", Model.lst2);}
@{Html.RenderPartial("UcPartialView1", Model.lst3);}

注意:这里我对每个班级列表使用相同的局部视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2013-09-17
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多