【发布时间】:2020-10-17 11:45:33
【问题描述】:
为了学习 ASP.NET Core MVC,我做了一个简单的项目,并尝试将在控制器中创建的模型实例传递给视图。
控制器代码 - 我创建一个简单的列表,然后将它传递给视图,明确说明哪个视图
public class TableController : Controller
{
public IActionResult Index()
{
var modelData = new List<string> {"A", "B"};
ViewBag.Title = "Tables";
return View("/Pages/Table.cshtml", modelData);
}
}
查看代码
@page
@model List<string>
<div class="text-center">
<h1 class="display-4">@ViewBag.Title</h1>
@if (Model == null)
{
<p>There is no data to be displayed</p>
}
else
{
<ul>
@foreach (string str in Model)
{
<li>@str</li>
}
</ul>
}
</div>
但是,当我进入视图代码时,我得到了这个:
我查看了其他一些“模型为空”的帖子,但它们是由于在 View() 模型参数中传递的内容与 @ 给出的视图中的预期内容之间不匹配类型模型声明。
这可能很简单,但我不确定我哪里出错了?
【问题讨论】:
-
也许可以尝试使用模型的实际自定义类,其中 List 是模型的属性,而不是直接使用。这就是 MVC 应该如何工作Docs on adding a MVC model
标签: asp.net-core model-view-controller nullreferenceexception