In this article I will explain with an example, how to display (get) Session value in cshtml page in ASP.Net Core MVC.
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.
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
Downloads