I'm a newbie looking for some help. I'm using netcoreapp2.2 for working in an already existing project and managed to put together a working Model from multiple questions and tutorials like so:
public class AdminViewModel : PageModel
{
public string Username
{
get => GetCookie("username");
}
public string Password
{
get => GetCookie("password");
}
public void OnGet()
{
}
private string GetCookie(string cookieName)
{
HttpContext context = HttpContext;
HttpRequest request = context.Request;
string result;
if (request.Cookies.TryGetValue(cookieName, out result))
{
return result;
}
return "";
}
}
With the View:
@model Regulator2App.Web.Views.Admin.AdminViewModel
@{
string username = Model.Username;
string password = Model.Password;
bool isLoggedIn = username.Equals("admin") && password.Equals("admin");
}
@if (isLoggedIn)
{
<div>"You're in!"</div>
}
else
{
<button id="cookie">Create cookies</button>
}
<script src="~/js/admin.js"></script>
And the controller:
public class AdminController : Controller
{
[HttpGet("/admin/")]
public IActionResult AdminView()
{
return View(new AdminViewModel());
}
}
My idea is adding a listener on the Create cookies button to add some cookies and then retrieve them via the model, the problem I'm facing is that my context
is always null:
NullReferenceException: Object reference not set to an instance of an object.
AdminViewModel.GetCookie(string cookieName) in AdminView.cshtml.cs
HttpRequest request = context.Request;
How can I properly access the context to retrieve the cookies?