在ASP.NET Core中,TempData的工作方式与ASP.NET MVC有一些不同。在ASP.NET Core中,TempData使用会话来存储数据,因此需要启用会话才能使用TempData。
以下是在ASP.NET Core中使用TempData的示例代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddSession();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseSession();
app.UseMvc();
}
public class HomeController : Controller
{
public IActionResult Index()
{
TempData["Message"] = "Hello, TempData!";
return RedirectToAction("About");
}
public IActionResult About()
{
var message = TempData["Message"];
ViewData["Message"] = message;
return View();
}
}
在上面的代码中,我们在Index方法中设置TempData["Message"]的值,并在About方法中获取该值并将其传递给视图。
请注意,TempData的值只在第一次访问时有效。一旦在下一个请求中使用了TempData,它的值就会被清除。
另外,还要确保在视图中使用TempData时,使用@using Microsoft.AspNetCore.Mvc.ViewFeatures
命名空间,并使用@TempData["Message"]
的方式来访问TempData的值。
希望这个解决方法对您有帮助!