我收到此错误 - System.InvalidOperationException:列“UserID”不存在。
这是我的视图模型。
public class UserVM
{
public int UserID;
public string Name;
}
这是我在控制器中的操作方法。
public ActionResult TestGrid()
{
List<UserVM> rows = new List<UserVM>();
rows.Add(new UserVM { UserID = 100, Name = "Abc" });
rows.Add(new UserVM { UserID = 101, Name = "Def" });
rows.Add(new UserVM { UserID = 102, Name = "Ghi" });
return View("TestGrid", rows.AsEnumerable());
}
这是我的观点。
@model IEnumerable<Module.ViewModels.UserVM>
@{
var grid = new WebGrid(Model);
}
<div>
@grid.GetHtml(
columns: grid.Columns(
grid.Column("UserID", header: "User ID"),
grid.Column("Name", header: "Name")
)
)
</div>
就是这样。知道我为什么会收到这个错误吗?
答案 0 :(得分:9)
您的UserVM类使用的是字段而不是属性。不适用于webgrid。
这是您的具有属性的类:
public class UserVM
{
public int UserID { get; set; }
public string Name { get; set; }
}