要在ASP.NET Core Razor Pages中保持数据的持久化,可以使用Session和TempData对象。以下是一个解决方案示例:
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor HttpContextAccessor
// 设置Session值
HttpContextAccessor.HttpContext.Session.SetString("Key", "Value");
// 获取Session值
string value = HttpContextAccessor.HttpContext.Session.GetString("Key");
// 设置TempData值
TempData["Key"] = "Value";
// 获取TempData值
string value = TempData["Key"] as string;
// 设置Session值
HttpContextAccessor.HttpContext.Session.SetString("Key", "Value");
// 设置TempData值
TempData["Key"] = HttpContextAccessor.HttpContext.Session.GetString("Key");
// 获取TempData值
string value = TempData["Key"] as string;
请注意,Session对象保存的数据在用户会话期间一直存在,而TempData对象保存的数据只在两个请求之间存在。