2016-12-14 17 views
0

私が作成したビューのインデックスからモデルのサモチードを参照できないという問題があります。私はモデルと呼ばれるフォルダにこのモデルを作成し、すべて動作するはずですが、私は思ったほどスマートではないように見えます:Dあなたたちはこれで私を助けますか?ASP.NETビューからモデルを参照できません

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つの異なるからだ二度目である:ここでは、コード

Samochody.csモデルですチュートリアル。

+1

'WebApplication2.Models.Samochody.Car'(なぜ、ネストされたクラスを使用していますか?) –

+0

ネストされたクラス? –

+0

'class Car'は' class Samochody'の中にあります –

答えて

1

あなたのクラスの名前空間がindex.cshtmlにありません。

@model WebApplication2.Models.Samochody.Models.Car 

または代替はビューフォルダ内ののweb.configファイルを編集して、そこに名前空間を追加することです::だからそれはする必要があります

<system.web.webPages.razor> 
    <host ... 
    <pages ... 
    <namespaces> 
    <add ... 
    <add namespace="WebApplication2.Models" /> 

、その後、あなたは」勝ちました各.cshtmlファイル内に名前空間を追加する必要があります。

+0

もう1つのオプションは、web.configではなく_viewStartファイルにこの名前空間を追加することです。私が知っている限り、どれがあなたが使っているかについての個人的な好み。 –

関連する問題