在Razor页面之间传递数据可以使用Session对象来存储和检索数据。下面是一个示例解决方法:
在发送数据的Razor页面:
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
Welcome to my website
@{
// 存储数据到Session
HttpContext.Session.SetString("DataKey", "Hello from Index page");
}
Go to another page
在接收数据的Razor页面:
@page
@model AnotherPageModel
@{
ViewData["Title"] = "Another page";
}
Another page
@{
// 从Session中检索数据
var data = HttpContext.Session.GetString("DataKey");
}
Received data: @data
确保在Startup.cs文件的ConfigureServices方法中启用Session:
public void ConfigureServices(IServiceCollection services)
{
services.AddSession();
// 其他配置...
}
在Startup.cs文件的Configure方法中添加Session中间件:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件...
app.UseSession();
// 其他配置...
}
这样,在点击“Go to another page”链接后,将会跳转到AnotherPage页面,并显示接收到的数据。
下一篇:不使用路由的多按钮切换