我目前正在做一些关于在ASP.NET应用程序中显示某些表的练习。我有以下模型类:
public class DynamoDB
{
public IEnumerable<string> GetOsman { get; set; }
}
和控制器类:
public class DynamoController : Controller
{
// --- THIS PART IS UPDATED ---
public ActionResult Index()
{
DynamoDB model = new DynamoDB();
model.GetOsman = LoadAI();
return View(model);
}
public List<string> LoadAI()
{
List<string> list = new List<string>();
list.Add("Testing");
list.Add("MCV");
list.Add("Project");
return list;
}
}
最后是我的Razor文件:
@{
ViewBag.Title = "Home Page";
}
@model FinalApplication.Models.DynamoDB
<div class="jumbotron">
<h1>Home Monitoring Application</h1>
</div>
@foreach (var item in Model.GetOsman)
{
<text>
@item
</text>
}
但它仍然返回错误&#34;对象引用未设置为对象的实例&#34;在以下行:
@foreach (var item in Model.GetOsman)
昨天我发了一篇类似的帖子,因为当我从DynamoDB表访问数据时遇到了同样的错误,但即使用这个简单的例子,我也得到了同样的错误。我的解决方案资源管理器看起来像这样:
答案 0 :(得分:3)
您应该将model
传递给视图,而不是model.GetOsman
。
return View(model);
另外,在Dynamo
下创建Views
文件夹并在其中加入Index.cshtml
。
答案 1 :(得分:3)
您传递给View()
的对象是model.GetOsman
而不是model
。
这样做:
return View(model);
答案 2 :(得分:0)
看起来您的视图需要DynamoDB模型, 但是你要传递
return View(model.GetOsman);
尝试将模型传递给您的视图
return View(model);