C# ASP.NET-模型不存在
我在视图中使用foreach和HTML列表时遇到问题。控制器调用一个服务,该服务返回许多项的IEnumerable,我正试图在视图中将这些项显示为HTML列表 然而,我在视图的第7行看到“CS0103:名称‘model’在当前上下文中不存在”。据我所知,我已经掌握了显示模型中的内容的正确语法 出什么事了 我有一个这样的模型:C# ASP.NET-模型不存在,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我在视图中使用foreach和HTML列表时遇到问题。控制器调用一个服务,该服务返回许多项的IEnumerable,我正试图在视图中将这些项显示为HTML列表 然而,我在视图的第7行看到“CS0103:名称‘model’在当前上下文中不存在”。据我所知,我已经掌握了显示模型中的内容的正确语法 出什么事了 我有一个这样的模型: public class NewsItem { public DateTime PublishDate { get; set; } public strin
public class NewsItem
{
public DateTime PublishDate { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Content { get; set; }
}
public ActionResult Index()
{
NewsReader newsReader = new NewsReader();
var newsItems = newsReader.GetNewsItems();
return View(newsItems);
}
还有这样一个控制器:
public class NewsItem
{
public DateTime PublishDate { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Content { get; set; }
}
public ActionResult Index()
{
NewsReader newsReader = new NewsReader();
var newsItems = newsReader.GetNewsItems();
return View(newsItems);
}
我的看法是:
@model IEnumerable<Site.Services.News.NewsItem>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@foreach(var item in model)
{
<ul>
<li>@Html.DisplayFor(m => model.Title)</li>
</ul>
}
@model IEnumerable
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@foreach(模型中的var项目)
{
- @DisplayFor(m=>model.Title)
}
首先,model属性是pascal大小写的,因此应该是model
其次,它属于IEnumerable
类型,因此不具有属性Title
,也不与您正在迭代的单个项相关。lambda表达式应引用项
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}
首先,model属性是pascal大小写的,因此应该是model
其次,它属于IEnumerable
类型,因此不具有属性Title
,也不与您正在迭代的单个项相关。lambda表达式应引用项
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}
您应该在显示器中大写“model”并使用“item”表示:
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}
您应该在显示器中大写“model”并使用“item”表示:
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}
对于MVC中的.aspx页面:
<table>
<% foreach (var item in Model) { %>
<tr><td><%= item.title %></td></tr>
<% } %>
</table>
对于MVC中的Razor引擎页面:-
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}
对于MVC中的.aspx页面:
<table>
<% foreach (var item in Model) { %>
<tr><td><%= item.title %></td></tr>
<% } %>
</table>
对于MVC中的Razor引擎页面:-
@foreach(var item in Model)
{
<ul>
<li>@Html.DisplayFor(m => item.Title)</li>
</ul>
}
@foreach(模型中的变量项)
{
- @DisplayFor(m=>item.Title)
}