Tonight when working on my new version of Owain.Codes I managed to blow up the site. The reason? I hadn't put an image in to the CMS and when I rendered out the image or the lack of an image on the front end, I got a null exception error.
I started to write a bit of code to handle this which looked a bit like
@if(Model.Image.Url() == null)
{
set default image as fallback.jpg
}
else{
use the image from the CMS
}
But then I thought, there must be a nicer way to handle fallbacks, and I believe I have found that nicer option and its by using the Null Conditional Operator
So I am now using:
var blogImage = Model.PageBanner?.Url() ?? "assets/images/noImage.jpg";
So if the Model.PageBanner
is null, give me the noImage.jpg fall back string, else give me the Model.PageBanner.Url()
.
I then use the variable blogImage on my page.
I now don't need to worry about whether I set an image for a blog or not. Either way I will have an image on my page.
Published on: 10 December 2020