【发布时间】:2021-11-19 03:19:21
【问题描述】:
我正在尝试创建一个树形视图菜单,但它无法正常工作。有 3 个不同的存储过程,第一个用于家庭(父),第二个用于类别(子),第三个用于报告(孙)。 Families SP 将用户 ID 作为参数,似乎工作正常。 Category SP 采用 userID 和 familyID,第 3 个采用 userID、FamilyID 和 CategoryID。运行代码时,它会显示族,并在下方显示 1 报告名称。如果我从 foreach 循环中删除调用存储过程的代码行,它会返回 1 个系列的类别,尽管它显示在所有系列上。
如果我在控制器上添加断点,它将通过循环并返回正确的数据,所以我认为问题在于它的显示方式。[显示的数据]在这个屏幕截图上可以看到如何正在显示数据,正在从家庭 SP 和 WebBooking 重新调整 EPOS 和 RES,这是一个类别
FAMILIES
¦
¦--CATEGORIES
¦
¦
¦---REPORT_NAME
提前谢谢!
在控制器上,我正在调用每个存储过程,如果使用断点进行测试,所有应该返回的数据都将正确返回。也许我的问题的解决方案是使用控制器返回的数据填充视图,但是我不知道该怎么做?
控制器
foreach (var cat in model.familiesReport = context.P_Mob_Get_ReportFamilies(user).ToList())
{
Console.WriteLine(cat.FamilyName);
foreach (var name in model.CategoriesReport = context.P_Mob_Get_ReportCategories(user, cat.FamilyID).ToList())
{
Console.WriteLine(name.Category);
foreach (var test in model.namesReport = context.P_Mob_Get_ReportNames(user, cat.FamilyID, name.CategoryID).ToList())
{
Console.WriteLine(test.ReportName);
}
}
我有一个具有 3 个 SP_Results(EF 中的复杂类型)的视图模型。在视图中,我将遍历每一个复杂类型并返回每个类型的名称(家庭、类别、名称)
查看
<ul>
@foreach (var family in Model.familiesReport)
{
<a href="#" class="menu_fam">@family.FamilyName</a>
<ul class="">
@foreach (var cat in Model.CategoriesReport)
{
<li href="#" class=""><a class="menu_cat"> @cat.Category</a></li>
<ul class="">
@foreach (var name in Model.namesReport)
{
<li href="#" class=""><a class="menu_name"> @name.ReportName</a></li>
}
</ul>
}
</ul>
}
</ul>
【问题讨论】:
-
您确实需要缩小问题范围。是存储过程/数据问题还是网络渲染问题?你实际上并没有在这里说明这个问题。请缩小问题范围并编辑您的问题并说明问题。事实上,这太宽泛了,无法提供帮助。
-
我刚刚编辑了这个问题。道歉
-
目前还不清楚。你期望看到什么?你得到什么?家庭/类别/报告树上的不同级别?您需要分析数据,直到您可以说“确实按预期工作”而不是说“似乎工作正常”,我建议您删除链接的图片并显示您所期望的文本表示,以及您所看到的。
-
在您的示例图片中,报告似乎没有按照您的预期出现。首先确认您的视图代码中正在运行一行以呈现报表行。如果在页面上看不到,请右键单击网页并按
inspect并在 html 中挖掘,看看是否可以找到您的报告元素
标签: entity-framework model-view-controller