C# 使用数据库创建DropDownListFor
我想用数据库在ASP.NET MVC中创建DropDownListFor,但编译器出现问题错误消息:CS1955:非可开票成员“TreeViewModel.TreeItems”不能像方法一样使用 视图模型:C# 使用数据库创建DropDownListFor,c#,asp.net-mvc,C#,Asp.net Mvc,我想用数据库在ASP.NET MVC中创建DropDownListFor,但编译器出现问题错误消息:CS1955:非可开票成员“TreeViewModel.TreeItems”不能像方法一样使用 视图模型: public class TreeViewModel { public List<DTree> leafs { get; set; } [Display(Name = "Wybierz gałąź")] public int
public class TreeViewModel
{
public List<DTree> leafs { get; set; }
[Display(Name = "Wybierz gałąź")]
public int SelectedRootId { get; set; }
public IEnumerable<SelectListItem> TreeItems
{
get { return new SelectList(leafs, "Id", "Name"); }
}
}
视图:
控制器:
public ActionResult Exercise()
{
var dt = new DbAccess();
var listTree = dt.GetAllTree();
var list = new List<DTree>();
foreach (var row in listTree)
{
list.Add(
new DTree
{
Id = row.Id,
Name = row.Name,
ParentId = (Convert.ToInt32(row.ParentId) != 0) ? Convert.ToInt32(row.ParentId) : (int?)null
});
}
TreeViewModel tvm = new TreeViewModel();
tvm.leafs = list;
return View();
}
[HttpPost]
public ActionResult Exercise(TreeViewModel tree)
{
var id = tree.SelectedRootId;
ViewBag.ID = id;
return View();
}
只要通过模型tvm
TreeItems是TreeViewModel的成员,不是方法,因此不能像方法一样使用括号调用它 在您的视图中,尝试更改行
@Html.DropDownListFor(m => m.SelectedRootId, Model.TreeItems());
到
您好,在上述代码中,我们主要需要纠正两件事: 更改此行@Html.DropDownListForm=>m.SelectedRootId,Model.TreeItems;像这样@Html.DropDownListForm=>m.SelectedRootId,Model.TreeItems; 提示:已从TreeItems中删除括号,因为它不是方法 2.将viewmodel传递到练习视图 更正代码: 希望能有所帮助 谢谢
KarthikModel.TreeItems应该是Model.TreeItems更改后是相同的吗?可以给我DTree的参考吗?我试图在小提琴手上实现它。或者最好在这里添加你的小提琴手并发布链接?
return View(tvm)
@Html.DropDownListFor(m => m.SelectedRootId, Model.TreeItems());
@Html.DropDownListFor(m => m.SelectedRootId, Model.TreeItems);
public ActionResult Exercise()
{
var dt = new DbAccess();
var listTree = dt.GetAllTree();
var list = new List<DTree>();
foreach (var row in listTree)
{
list.Add(
new DTree
{
Id = row.Id,
Name = row.Name,
ParentId = (Convert.ToInt32(row.ParentId) != 0) ? Convert.ToInt32(row.ParentId) : (int?)null
});
}
TreeViewModel tvm = new TreeViewModel();
tvm.leafs = list;
//passed the model
return View(tvm );
}