2013-11-02 14 views
0

我找不到解決方案,我的問題,如下所示:我正在ASP.net中創建一個MVC在線商店。一切工作正常,直到我嘗試將物品放入購物車。然後我得到「未設置爲對象實例的對象引用」錯誤。我嘗試了幾個解決方案,他們爲其他用戶解決了這個問題,但不幸的是,沒有任何運氣。請讓我知道如果你需要更多的我的代碼:在你的模型「對象引用未設置爲對象的實例」當添加到購物車

namespace Oblig2.Models 
{ 
    public class HandlevognViewModel 
    { 
     public List<Handlevogn> VognItems { get; set; } 
     public decimal VognTotal { get; set; } 
    } 
} 
@model Oblig2.Models.HandlevognViewModel 

@{ 
    ViewBag.Title = "Handlevogn"; 
} 

<h2>Handlevogn</h2> 

<p class="button"> @Html.ActionLink("Til Kassen", "AdresseBetale", "Kassen")</p> 

<table> 
    <tr> 
     <th>Vare Navn</th> 
     <th>Pris </th> 
     <th>Antall </th> 
    </tr> 

    //This is where the error occurs. 
    @foreach (var item in Model.VognItems) 
    { 
     <tr> 
      <td>@item.Produkt.VareNavn</td> 
      <td>@item.Produkt.Pris</td> 
      <td>@item.Antall</td> 
     </tr> 
    } 
</table> 
namespace Oblig2.Controllers 
{ 
    public class VarerController : Controller 
    { 
     private ButikkDBContext db = new ButikkDBContext(); 

     public ActionResult index() 
     { 
      return View(db.Produkt.ToList()); 
     } 

     protected override void Dispose(bool disposing) 
     { 
      db.Dispose(); 
     } 
    } 
} 

    namespace Oblig2.Controllers 
    { 
     public class HandlevognController : Controller 
     { 
      ButikkDBContext db = new ButikkDBContext(); 

      public ActionResult index() 
      { 
       var vogn = Vogn.GetVogn(this.HttpContext); 

       var viewModel = new HandlevognViewModel 
       { 
        VognItems = vogn.GetVognItems(), 
        VognTotal = vogn.GetTotal() 
       }; 

       return View(viewModel); 
      } 

      public ActionResult LeggTil(int id) 
      { 
       var nyVare = db.Produkt.Single(vare => vare.VareNr == id); 
       var vogn = Vogn.GetVogn(this.HttpContext); 
       vogn.LeggTilHandleVogn(nyVare); 

       return RedirectToAction("index"); 
      } 

      [ChildActionOnly] 
      public ActionResult VognSammendrag() 
      { 
       var vogn = Vogn.GetVogn(this.HttpContext); 
       ViewData["VognAntall"] = vogn.GetAntall(); 
       return PartialView("VognSammendrag"); 
      } 

     } 
    } 
+3

哪條線給你這個錯誤? –

+1

歡迎來到Stackoverflow。作爲開始,請閱讀[FAQ]和[問]幾次。其次,請先閱讀['什麼是NullReferenceException,我該如何解決它?'](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i -fix-it) –

+0

Model.VognItems爲null。你爲什麼在你的構造函數中創建一個列表並且不分配它? – therealtbs

回答

1

,添加一個私有字段:

private List<Handlevogn> vognitems = new List<Handlevogn>(); 
public List<Handlevogn> VognItems { get { return vognitems; } set { vognitems = value; } 

VognItems是空的,因爲你還沒有實例化它。

+0

謝謝。我會盡力。 – user2947695

+0

我將你建議的字段添加到我的HandleVognViewModel中,但不幸的是它沒有解決問題。我收到相同的錯誤消息。 – user2947695

相關問題