Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET-模型不存在_C#_Html_Asp.net Mvc - Fatal编程技术网

C# ASP.NET-模型不存在

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

我在视图中使用foreach和HTML列表时遇到问题。控制器调用一个服务,该服务返回许多项的IEnumerable,我正试图在视图中将这些项显示为HTML列表

然而,我在视图的第7行看到“CS0103:名称‘model’在当前上下文中不存在”。据我所知,我已经掌握了显示模型中的内容的正确语法

出什么事了

我有一个这样的模型:

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)
}