ViewDatasimilar to ViewBag. You use it only if you want to transfer data from the controller to the view. For this, I always prefer the View Model.
To transfer data through a component, you have the following two options:
TempData ViewData:
Install-Package Microsoft.AspNetCore.Mvc.ViewFeatures
Startup
services.AddSingleton<ITempDataProvider, CookieTempDataProvider>();
ConfigureServices. CookieTempDataProvider ITempDataProvider SessionStateTempDataProvider.
TempData :
this.TempData["data"] = "my value";
TempData :
var data = this.TempData["data"];
:
@this.TempData["data"]
HttpContext.Items: . HttpContext.Items :
this.HttpContext.Items["data"] = "my value";
, , :
var data = this.HttpContext.Items["data"];
, :
@this.Context.Items["data"]
TempData HttpContext.Items: HttpContext.Items TempData:
HttpContext.Items , .TempData . , TempData.Keep()- ,
TempData ITempDataDictionary ITempDataDictionary.