【发布时间】:2019-04-05 14:22:38
【问题描述】:
我对 C# 和 asp.net mvc 还是很陌生,我一直试图在这里和其他论坛中找到我的问题的答案,但没有成功。但是,如果在此之前已经提出并回答了这个问题,我很抱歉,请您链接到该帖子。
我正在尝试创建一个树视图,在其中将 ViewModel 列表传递给我的视图。
我使用代码优先的方法,并在我的模型和数据库之间添加了迁移。
我的问题是如何将 ViewModel 的对象列表传递给 View? 我可以从控制器传递模型的对象列表,但是如何传递 ViewModel 的对象列表?这可能吗?
也许我还没有找到一个简单的解决方案,也许我做错了。无论如何,我真的需要一些帮助。
public class MyClass
{
public int Id { get; set; }
public int ParentId { get; set; }
public string Name { get; set; }
}
public class MyClassViewModel
{
public MyClass Parent { get; set; }
public List<MyClass> Children
{
get { return GetChildren(); }
}
public List<MyClass> GetChildren()
{
var listOfChildren = new List<MyClass>().Where(c => c.ParentId ==
Parent.Id).ToList();
return listOfChildren;
}
}
public ActionResult CreateTree()
{
var viewModel = new MyClassViewModel();
//This only returns one instance of an object, how to return a list?
return View("CreateTree", viewModel);
}
【问题讨论】:
-
我相信您正在尝试访问 MyClass 列表中的“viewModel.Children”
-
这也是类似问题的多个示例:stackoverflow.com/questions/942489/…
-
@NirmalSubedi。我需要创建一个视图模型对象列表,它们每个都包含一个 MyClass 对象及其子对象(它们是 MyClass 对象)。
-
感谢您的提示。这两页我之前都研究过,但会再看一遍,也许我遗漏了什么……
标签: c# asp.net-mvc viewmodel