Microsoft.AspNetCore.Mvc.Razor.RazorPage<TModel>.Model.get returned null.Exception.What's the issue?I cant find it

87 Views Asked by At

Its crashing on my CardDetailsView,the Details IActionResult in my CardsController

CardDetailsView-

public class CardDetailsViewModel
{

    public string Id { get; set; }

    public string Title { get; set; }

    public string ImageUrl { get; set; }

    public string Destination { get; set; }

    public string Model { get; set; }

    public string SNumber { get; set; }

    public string QNumber { get; set; }

}

CardDetailsView-

@model CardDetailsViewModel

@{ ViewBag.Title = "Details"; }

Card Details Title Destination Model SNumber QNumber Details

CardsController-

public class CardsController : Controller
{
    public readonly DigitalCardsDbContext data;

    public CardsController(DigitalCardsDbContext data)
    {
        this.data = data;
    }

    public IActionResult Add() => View();

    [HttpPost]
    public IActionResult Add(CardAddViewModel card)
    {
        if(!ModelState.IsValid)
        {
            return View(card);
        }

        var cardd = new Card
        {
            Title = card.Title,
            ImageUrl = card.ImageUrl,
            Destination = card.Destination,
            Receiver = card.Receiver,
            Model = card.Model,
            UserFullName = card.UserFullName,
            SNumber = card.SNumber,
            QNumber = card.QNumber,
            PublicView = card.PublicView
        };

        this.data.Cards.Add(cardd);
        this.data.SaveChanges();

        return RedirectToAction("All","Cards");
    }

    
 
    public IActionResult All()
    {
        var cards = this.data.Cards
            .Where(c => c.PublicView == true).ToList();

        var usern = User.Identity.Name;
       
        if(usern!=this.User.Identity.Name)
        {
            return BadRequest();
        }

        var cardsl = cards  
            .Select(c => new CardAllViewModel
            {
                Id = c.Id,
                Title = c.Title,
                ImageUrl = c.ImageUrl,
                Destination = c.Destination,
                SNumber = c.SNumber,
                QNumber = c.QNumber
            })     
            .ToList();

        return View(cardsl);

    }
   
    public IActionResult Details(string cardId)
    {
        
        var card = this.data.Cards.Where(c => c.Id == cardId)
            .Select(c => new CardDetailsViewModel
            {
                Id = c.Id,                 
                ImageUrl = c.ImageUrl,
                Title = c.Title,
                Destination = c.Destination,
                Model = c.Model,
                SNumber = c.SNumber,
                QNumber = c.QNumber
            })
            .SingleOrDefault();

        return View(card);

    }

The code is crashing on my View,on every div class,Title,ImageUrl,Etc.The exception is Microsoft.AspNetCore.Mvc.Razor.RazorPage.Model.get returned null. Here is snap-Error

1

There are 1 best solutions below

1
Sudheesh On

Please verify the value in the image [url] it looks like that could be the reason.