我正在对一个大型现有项目进行修改
现有项目是C#MVC项目 它具有复杂的后端,具有经过深思熟虑的体系结构,我被告知不要更改。
模型(确实传递给视图)非常复杂,并且模型上的属性之一是人员列表。
人员列表包含姓名和ID
我的任务是在前端创建一个表单,其中包含许多复选框,这些列表列出了模型中的所有人员。
还需要将选定人员列表显示为选项卡(与表单分开)
要生成复选框,我只需遍历人员列表,然后使用名称作为显示文本,并使用id作为输入字段值。
在后端(由于无法修改模型),我用一个对象捕获了提交的数据,并将该对象的属性分配给ViewBag。
在前端,ViewBag的内容用于打印选定人员的列表。
问题是ViewBag包含人物的ID,而不是姓名。 (因为表单提交了ID)
起初,我有一个循环,该循环打印ViewBag中的每个项目,但这仅打印ID的
要获取名称,我必须在循环的每次迭代中都放置一行,以从id等于ViewBag值的模型中选择一个Person
然后我可以打印该人的姓名而不是其ID
这种逻辑应该放在控制器中,但我无法在其中放置foreach循环。
有什么干净而适当的方法来解决这个问题?