Only this week 80 % discount on e-learning courses of C# .NET
Get up to 60 % extra points for free! More info
C# week

Lesson 10 - E-shop in ASP.NET Core MVC - Finishing the Image Management

In the previous lesson, E-shop in ASP.NET Core MVC - Product management - Images, we prepared a manager for editing images, including products. In today's ASP.NET Core tutorial, we're going to finish the image management by editing the view and the controller. To do this, we'll also add a category tree view on the left side of the page, using a helper and MemoryCache.

Product edit form

Today's lesson also includes the source code we wrote up until now to download.


Editing the controller (the ProductController of course) will be simple. In the Manage() POST action, before calling the SaveProduct() method, we'll first prepare the current Id of the product and the number of its images:

int oldProductID = model.Product.ProductId;
int oldImagesCount = model.Product.ImagesCount;

After calling the UpdateProductCategories() method, we'll also call the method saving the images:

productManager.SaveProductImages(model.Product, model.UploadedImages, oldProductID, oldImagesCount);

To do this, we'll add an action for deleting images that we'll call using AJAX, meaning in the background. The advantage of this is that the user doesn't even need to know that there was any communication with the server because the page won't be reloaded. So any modifications to the page (in our case, deleting an image preview) must be handled by JavaScript (jQuery).

[Authorize(Roles = "Admin")]
public void DeleteImage(int productID, int imageIndex)
    productManager.RemoveProductImage(productID, imageIndex);

Now we've finished the controller


...End of the preview...
Continue further

You will gain knowledge worth hundreds of thousands for a few crowns

You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.

Limited offer: Learn all knowledge and save money

Buy lessons and exercise submitting one by one 990 points
Buy all currently available lessons with exercise submitting and other features for an exclusive price 782 points ($70.38)
Currently, you have 0 points
By buying this exclusive package, you'll have access to all 34 lessons in this course including exercise submitting while saving $18.72. This is a time limited offer for all lessons in this course. Buy it now and gain a limited 21% discount.
You gain 782 points for adding an article to the site, or for $89.10 $70.38
Buy only the lesson 30 points
Currently, you have 0 points
You gain 30 points for adding an article to the site, or for $2.70

Before buying this article, you have to buy the previous one

This article is licensed: Premium no-reselling II, by buying this article, you agree with the terms of use.

Commercial article (licence no-reselling)

Commercial article (licence no-reselling)

This article is based on many years of experience in the IT field, and describes how to develop a professional commercial product or parts, that can be directly used to generate profit or to get as a gate into the industry.

This knowledge is only can only be used properly by the members of our community who are working their way up to become IT professionals. Therefore, this knowledge is only available in exchange for points. You can use the source code from this article for one commercial project. However, you will not be able to resell it. Simply put, you can't buy our article once and then sell our code multiple times. If you need to use this code a bit more extensively, we are ready to discuss Commercial licence options with you. You can find more info on this in the following article Licence.

Are you ready to become a professional? All you have to do is click here!.

Article description

Requested article covers this content:

We'll modify the controller, display product images, use JavaScript (jQuery) and AJAX in ASP.NET Core, render the tree menu from MemoryCache by a helper.

You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.

Article has been written for you by Martin Petrovaj