In this article I will explain with an example, how to display (get) Session value in cshtml page in ASP.Net Core MVC.
Note: For enabling and configuring Session in ASP.Net Core, please refer my article Enable Session in ASP.Net Core.
 
 
Namespaces
You will need to import the following namespace.
using Microsoft.AspNetCore.Http;
 
 
Controller
The Controller consists of the following Action method.
Action method for handling GET operation
Inside this Action method, Session object is set.
A string value is set in the Session object using the SetString method of the HttpContext.Session property in Controller and the View is returned.
public class HomeController : Controller
{
    public IActionResult Index()
    {
        //Set value in Session object.
        HttpContext.Session.SetString("Message", "Hello MVC!");
 
        return View();
    }
}
 
 
View
Inside the View, the IHttpContextAccessor Interface object is injected in order to access the Session and its functions inside the View.
Note: For configuring IHttpContextAccessor in ASP.Net Core, please refer my article Using HttpContext in ASP.Net Core.
 
The value from the Session object is displayed in View using the GetString method of the HttpContext.Session property.
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor Accessor
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        @Accessor.HttpContext.Session.GetString("Message")
    </div>
</body>
</html>
 
 
Screenshot
ASP.Net Core MVC: Display (Get) Session value in cshtml page
 
 
Downloads