我有一个问题,我无法从我创建的索引视图中引用我的模型Samochody。我在名为Models的文件夹中创建了这个模型,所有这些都应该可以工作,但看起来我并不像我想象的那样聪明:D你能帮我解决这个问题吗?这是代码
Samochody.cs模型:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using static WebApplication2.Models.Samochody;
namespace WebApplication2.Models
{
public class Samochody
{
public class Car
{
public int Id { get; set; }
public string Brand { get; set; }
public string Model { get; set; }
public decimal Price { get; set; }
public DateTime Bought { get; set; }
public DateTime Sold { get; set; }
}
}
public class CarDBCtxt : DbContext
{
public DbSet<Car> Cars { get; set; }
}
}
和Index.cshtml
@model Samochody.Models.Car //error here, can't find Samochody
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
</div>
</body>
</html>
这是我第二次遇到此类错误,而且来自2个不同的教程。
答案 0 :(得分:1)
您在index.cshtml中缺少类的命名空间。所以需要:
@model WebApplication2.Models.Samochody.Models.Car
或另一种方法是编辑视图文件夹中的 web.config 文件,并在其中添加命名空间:
<system.web.webPages.razor>
<host ...
<pages ...
<namespaces>
<add ...
<add namespace="WebApplication2.Models" />
然后您不需要在每个.cshtml文件中添加命名空间。