从视图调用模型
本文关键字:模型 调用 视图 | 更新日期: 2023-09-27 18:29:07
我在视图中调用模型属性时遇到问题。我可能需要在视图中创建一个它的实例。
错误消息:对象引用未设置为对象的实例但在模型内部,它运行良好。
视图:
@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;
您的控制器应该决定包含视图所需的数据。重构以使用数据集以外的内容。
//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
}
您应该在控制器中初始化DataSets
属性,或者更好地在模型的构造函数中初始化。集合属性不应该为null,除非你有明确的理由。
当然,在这种特殊情况下,在引用字典之前,您还应该检查字典中是否存在"test"