我有一个MVC 5应用程序,由空模板制作.我已经Microsoft.AspNet.Mvc通过Nuget 添加了我的包文件看起来像这样:
<packages>
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net46" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net46" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
</packages>
Run Code Online (Sandbox Code Playgroud)
我有一个Razor页面声明了一个模型,@model IEnumerable<Models.ToDoModel>并在foreach循环中使用它.
@model IEnumerable<Models.ToDoModel>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Home</title>
</head>
<body>
<h1>Hello World!</h1>
<ul>
@foreach (var item in Model)
{
<li>ID: @item.Id</li>
}
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我运行页面时,它渲染得很好,但Visual Studio坚持说有一个错误:
它不会识别model关键字或给我任何Intellisense.
我Web.Config看起来像这样:
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) asp.net-mvc visual-studio razor asp.net-mvc-5 visual-studio-2015
请参阅下面的错误部分。其他相关代码如下:
型号:
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
博客帖子控制器
public IActionResult Index()
{
return View("~/Views/BlogsTest/Index.cshtml");
}
Run Code Online (Sandbox Code Playgroud)
查看【Index.cshtml】:
@model …Run Code Online (Sandbox Code Playgroud)