我在查看模型属性时遇到问题。我可能必须在视图中创建它的实例。
错误消息:对象引用未设置为对象的实例。但是在模型中它可以正常工作。
查看:
@model site.Models.modeldata
@foreach (System.Data.DataRow row in Model.DataSets["test"].Tables[0].Rows)
{
@:row["id"]
}
型号:
public IDictionary<string, DataSet> DataSets { get; private set;
答案 0 :(得分:1)
您应该在模型的构造函数中初始化控制器中的DataSets
属性,或者更好。除非您有明确的理由,否则集合属性不应为null。
当然,在这种特殊情况下,您还应该在引用之前检查字典中是否存在“test”。
答案 1 :(得分:1)
您的控制器应决定包含视图所需的数据。重构使用数据集以外的其他内容。
//build up a collection in the controller
var items = new List<Customer>();
items.Add(new item{ ID = 4, CustomerName="user123"});
ViewBag.items = items; //pass to the view via ViewBag, a dynamic object
在您看来:
@foreach (var item in ViewBag.items)
{
@:item.ID + " " + item.CustomerName
}